33#define _UI_EXTERN __declspec(dllexport) extern
35#define _UI_EXTERN __attribute__((visibility("default"))) extern
39#define _UI_EXTERN extern
44#define _UI_ENUM(s) typedef unsigned int s; enum
48#define uiPi 3.14159265358979323846264338327950288419716939937510582097494459
121#define uiControl(this) ((uiControl *) (this))
291#define uiWindow(this) ((uiWindow *) (this))
356 void (*f)(
uiWindow *sender,
void *senderData),
void *data);
414 void (*f)(
uiWindow *sender,
void *senderData),
void *data);
432 int (*f)(
uiWindow *sender,
void *senderData),
void *data);
447 void (*f)(
uiWindow *sender,
void *senderData),
void *data);
548#define uiButton(this) ((uiButton *) (this))
585 void (*f)(
uiButton *sender,
void *senderData),
void *data);
610#define uiBox(this) ((uiBox *) (this))
696#define uiCheckbox(this) ((uiCheckbox *) (this))
734 void (*f)(
uiCheckbox *sender,
void *senderData),
void *data);
774#define uiEntry(this) ((uiEntry *) (this))
811 void (*f)(
uiEntry *sender,
void *senderData),
void *data);
892#define uiLabel(this) ((uiLabel *) (this))
939#define uiTab(this) ((uiTab *) (this))
973 void (*f)(
uiTab *sender,
void *senderData),
void *data);
1064#define uiGroup(this) ((uiGroup *) (this))
1145#define uiSpinbox(this) ((uiSpinbox *) (this))
1180 void (*f)(
uiSpinbox *sender,
void *senderData),
void *data);
1214#define uiSlider(this) ((uiSlider *) (this))
1266 void (*f)(
uiSlider *sender,
void *senderData),
void *data);
1281 void (*f)(
uiSlider *sender,
void *senderData),
void *data);
1322#define uiProgressBar(this) ((uiProgressBar *) (this))
1365#define uiSeparator(this) ((uiSeparator *) (this))
1393#define uiCombobox(this) ((uiCombobox *) (this))
1480 void (*f)(
uiCombobox *sender,
void *senderData),
void *data);
1504#define uiEditableCombobox(this) ((uiEditableCombobox *) (this))
1600#define uiRadioButtons(this) ((uiRadioButtons *) (this))
1645 void (*f)(
uiRadioButtons *sender,
void *senderData),
void *data);
1673#define uiDateTimePicker(this) ((uiDateTimePicker *) (this))
1746#define uiMultilineEntry(this) ((uiMultilineEntry *) (this))
1842#define uiMenuItem(this) ((uiMenuItem *) (this))
1929#define uiMenu(this) ((uiMenu *) (this))
2117#define uiArea(this) ((uiArea *) (this))
2176#define uiDrawDefaultMiterLimit 10.0
2795#define uiFontButton(this) ((uiFontButton *) (this))
2821 void (*f)(
uiFontButton *sender,
void *senderData),
void *data);
2947#define uiColorButton(this) ((uiColorButton *) (this))
2986 void (*f)(
uiColorButton *sender,
void *senderData),
void *data);
3013#define uiForm(this) ((uiForm *) (this))
3129#define uiGrid(this) ((uiGrid *) (this))
3615#define uiTableModelColumnNeverEditable (-1)
3617#define uiTableModelColumnAlwaysEditable (-2)
3683#define uiTable(this) ((uiTable *) (this))
3704 int textModelColumn,
3705 int textEditableModelColumn,
3724 int imageModelColumn);
3749 int imageModelColumn,
3750 int textModelColumn,
3751 int textEditableModelColumn,
3771 int checkboxModelColumn,
3772 int checkboxEditableModelColumn);
3799 int checkboxModelColumn,
3800 int checkboxEditableModelColumn,
3801 int textModelColumn,
3802 int textEditableModelColumn,
3822 int progressModelColumn);
3846 int buttonModelColumn,
3847 int buttonClickableModelColumn);
3891 void (*f)(
uiTable *t,
int row,
void *data),
3911 void (*f)(
uiTable *t,
int row,
void *data),
3954 void (*f)(
uiTable *sender,
int column,
void *senderData),
void *data);
char * uiOpenFolder(uiWindow *parent)
Folder chooser dialog window to select a single folder.
char * uiSaveFile(uiWindow *parent)
Save file dialog window.
char * uiOpenFile(uiWindow *parent)
File chooser dialog window to select a single file.
void uiMsgBoxError(uiWindow *parent, const char *title, const char *description)
Error message box dialog window.
void uiMsgBox(uiWindow *parent, const char *title, const char *description)
Message box dialog window.
uiTableSelectionMode
Table selection modes.
Definition ui.h:3993
uiSortIndicator
Sort indicators.
Definition ui.h:3460
double AreaWidth
Definition ui.h:2138
double ClipWidth
Definition ui.h:2143
double ClipHeight
Definition ui.h:2144
double AreaHeight
Definition ui.h:2139
double ClipY
Definition ui.h:2142
uiDrawContext * Context
Definition ui.h:2135
double ClipX
Definition ui.h:2141
void(* DragBroken)(uiAreaHandler *, uiArea *)
Definition ui.h:2097
int(* KeyEvent)(uiAreaHandler *, uiArea *, uiAreaKeyEvent *)
Definition ui.h:2098
void(* Draw)(uiAreaHandler *, uiArea *, uiAreaDrawParams *)
Definition ui.h:2091
void(* MouseCrossed)(uiAreaHandler *, uiArea *, int left)
Definition ui.h:2096
void(* MouseEvent)(uiAreaHandler *, uiArea *, uiAreaMouseEvent *)
Definition ui.h:2093
char Key
Definition ui.h:2924
int Up
Definition ui.h:2930
uiExtKey ExtKey
Definition ui.h:2925
uiModifiers Modifier
Definition ui.h:2926
uiModifiers Modifiers
Definition ui.h:2928
int Count
Definition ui.h:2874
double X
Definition ui.h:2864
double AreaHeight
Definition ui.h:2869
int Down
Definition ui.h:2871
uint64_t Held1To64
Definition ui.h:2878
int Up
Definition ui.h:2872
uiModifiers Modifiers
Definition ui.h:2876
double Y
Definition ui.h:2865
double AreaWidth
Definition ui.h:2868
void uiBoxDelete(uiBox *b, int index)
Removes the control at index from the box.
uiBox * uiNewHorizontalBox(void)
Creates a new horizontal box.
void uiBoxSetPadded(uiBox *b, int padded)
Sets whether or not controls within the box are padded.
int uiBoxNumChildren(uiBox *b)
Returns the number of controls contained within the box.
void uiBoxAppend(uiBox *b, uiControl *child, int stretchy)
Appends a control to the box.
uiBox * uiNewVerticalBox(void)
Creates a new vertical box.
int uiBoxPadded(uiBox *b)
Returns whether or not controls within the box are padded.
void uiCheckboxSetChecked(uiCheckbox *c, int checked)
Sets whether or not the checkbox is checked.
uiCheckbox * uiNewCheckbox(const char *text)
Creates a new checkbox.
char * uiCheckboxText(uiCheckbox *c)
Returns the checkbox label text.
int uiCheckboxChecked(uiCheckbox *c)
Returns whether or the checkbox is checked.
void uiCheckboxOnToggled(uiCheckbox *c, void(*f)(uiCheckbox *sender, void *senderData), void *data)
Registers a callback for when the checkbox is toggled by the user.
void uiCheckboxSetText(uiCheckbox *c, const char *text)
Sets the checkbox label text.
void uiComboboxInsertAt(uiCombobox *c, int index, const char *text)
Inserts an item at index to the combo box.
void uiComboboxDelete(uiCombobox *c, int index)
Deletes an item at index from the combo box.
void uiComboboxClear(uiCombobox *c)
Deletes all items from the combo box.
void uiComboboxOnSelected(uiCombobox *c, void(*f)(uiCombobox *sender, void *senderData), void *data)
Registers a callback for when a combo box item is selected.
void uiComboboxAppend(uiCombobox *c, const char *text)
Appends an item to the combo box.
uiCombobox * uiNewCombobox(void)
Creates a new combo box.
void uiComboboxSetSelected(uiCombobox *c, int index)
Sets the item selected.
int uiComboboxSelected(uiCombobox *c)
Returns the index of the item selected.
int uiComboboxNumItems(uiCombobox *c)
Returns the number of items contained within the combo box.
int uiControlVisible(uiControl *c)
Returns whether or not the control is visible.
void uiControlHide(uiControl *c)
Hides the control.
int(* Visible)(uiControl *)
Definition ui.h:113
uint32_t OSSignature
Definition ui.h:106
int(* Toplevel)(uiControl *)
Definition ui.h:112
void(* SetParent)(uiControl *, uiControl *)
Definition ui.h:111
void uiControlSetTooltip(uiControl *c, const char *tooltip)
Sets the control tooltip.
int uiControlEnabledToUser(uiControl *c)
Returns whether or not the control can be interacted with by the user.
void uiControlDisable(uiControl *c)
Disables the control.
void uiControlDestroy(uiControl *c)
Dispose and free all allocated resources.
void uiControlEnable(uiControl *c)
Enables the control.
void(* Disable)(uiControl *)
Definition ui.h:118
void(* Show)(uiControl *)
Definition ui.h:114
void(* Destroy)(uiControl *)
Definition ui.h:108
int uiControlEnabled(uiControl *c)
Returns whether or not the control is enabled.
uintptr_t uiControlHandle(uiControl *c)
Returns the control's OS-level handle.
void uiControlShow(uiControl *c)
Shows the control.
void uiFreeControl(uiControl *c)
Frees the memory associated with the control reference.
void uiControlVerifySetParent(uiControl *c, uiControl *parent)
Makes sure the control's parent can be set to parent.
int uiControlToplevel(uiControl *c)
Returns whether or not the control is a top level control.
void(* Hide)(uiControl *)
Definition ui.h:115
void uiControlSetParent(uiControl *c, uiControl *parent)
Sets the control's parent.
uint32_t TypeSignature
Definition ui.h:107
int(* Enabled)(uiControl *)
Definition ui.h:116
uiControl * uiAllocControl(size_t n, uint32_t OSsig, uint32_t typesig, const char *typenamestr)
Allocates a uiControl.
uint32_t Signature
Definition ui.h:105
uiControl * uiControlParent(uiControl *c)
Returns the parent control.
uintptr_t(* Handle)(uiControl *)
Definition ui.h:109
void(* Enable)(uiControl *)
Definition ui.h:117
uiDateTimePicker * uiNewDateTimePicker(void)
Creates a new date picker.
void uiDateTimePickerOnChanged(uiDateTimePicker *d, void(*f)(uiDateTimePicker *sender, void *senderData), void *data)
Registers a callback for when the date time picker value is changed by the user.
void uiDateTimePickerSetTime(uiDateTimePicker *d, const struct tm *time)
Sets date and time of the data time picker.
uiDateTimePicker * uiNewTimePicker(void)
Creates a new date and time picker.
uiDateTimePicker * uiNewDatePicker(void)
Creates a new time picker.
void uiDateTimePickerTime(uiDateTimePicker *d, struct tm *time)
Returns date and time stored in the data time picker.
double R
Definition ui.h:2222
double G
Definition ui.h:2223
double Pos
Definition ui.h:2221
double B
Definition ui.h:2224
double A
Definition ui.h:2225
double Y1
Definition ui.h:2205
double B
Definition ui.h:2198
size_t NumStops
Definition ui.h:2208
double R
Definition ui.h:2196
double Y0
Definition ui.h:2203
double A
Definition ui.h:2199
uiDrawBrushGradientStop * Stops
Definition ui.h:2207
double X1
Definition ui.h:2204
double X0
Definition ui.h:2202
double OuterRadius
Definition ui.h:2206
double G
Definition ui.h:2197
uiDrawBrushType Type
Definition ui.h:2193
double M32
Definition ui.h:2189
double M11
Definition ui.h:2184
double M22
Definition ui.h:2187
double M31
Definition ui.h:2188
double M21
Definition ui.h:2186
double M12
Definition ui.h:2185
size_t NumDashes
Definition ui.h:2237
double DashPhase
Definition ui.h:2238
double * Dashes
Definition ui.h:2234
double Thickness
Definition ui.h:2232
double MiterLimit
Definition ui.h:2233
uiDrawLineJoin Join
Definition ui.h:2230
uiDrawLineCap Cap
Definition ui.h:2229
uiAttributedString * String
Definition ui.h:2743
double Width
Definition ui.h:2745
uiFontDescriptor * DefaultFont
Definition ui.h:2744
uiDrawTextAlign Align
Definition ui.h:2746
uiEditableCombobox * uiNewEditableCombobox(void)
Creates a new editable combo box.
void uiEditableComboboxOnChanged(uiEditableCombobox *c, void(*f)(uiEditableCombobox *sender, void *senderData), void *data)
Registers a callback for when an editable combo box item is selected or user text changed.
void uiEditableComboboxSetPlaceholder(uiEditableCombobox *c, const char *text)
Sets text to be displayed in the editable combo box when it is empty.
void uiEditableComboboxSetText(uiEditableCombobox *c, const char *text)
Sets the editable combo box text.
char * uiEditableComboboxPlaceholder(uiEditableCombobox *c)
Returns the editable combo box's placeholder.
char * uiEditableComboboxText(uiEditableCombobox *c)
Returns the text of the editable combo box.
void uiEditableComboboxAppend(uiEditableCombobox *c, const char *text)
Appends an item to the editable combo box.
void uiEntrySetPlaceholder(uiEntry *e, const char *text)
Sets text to be displayed in the entry when it is empty.
uiEntry * uiNewEntry(void)
Creates a new entry.
char * uiEntryPlaceholder(uiEntry *e)
Returns the entry's placeholder.
void uiEntryOnChanged(uiEntry *e, void(*f)(uiEntry *sender, void *senderData), void *data)
Registers a callback for when the user changes the entry's text.
char * uiEntryText(uiEntry *e)
Returns the entry's text.
void uiEntrySetText(uiEntry *e, const char *text)
Sets the entry's text.
uiEntry * uiNewPasswordEntry(void)
Creates a new entry suitable for sensitive inputs like passwords.
void uiEntrySetReadOnly(uiEntry *e, int readonly)
Sets whether or not the entry's text is read only.
uiEntry * uiNewSearchEntry(void)
Creates a new entry suitable for search.
int uiEntryReadOnly(uiEntry *e)
Returns whether or not the entry's text can be changed.
uiTextItalic Italic
Definition ui.h:2706
uiTextWeight Weight
Definition ui.h:2705
char * Family
Definition ui.h:2703
uiTextStretch Stretch
Definition ui.h:2707
double Size
Definition ui.h:2704
void uiGridSetPadded(uiGrid *g, int padded)
Sets whether or not controls within the grid are padded.
int uiGridPadded(uiGrid *g)
Returns whether or not controls within the grid are padded.
void uiGridAppend(uiGrid *g, uiControl *c, int left, int top, int xspan, int yspan, int hexpand, uiAlign halign, int vexpand, uiAlign valign)
Appends a control to the grid.
uiGrid * uiNewGrid(void)
Creates a new grid.
void uiGridInsertAt(uiGrid *g, uiControl *c, uiControl *existing, uiAt at, int xspan, int yspan, int hexpand, uiAlign halign, int vexpand, uiAlign valign)
Inserts a control positioned in relation to another control within the grid.
void uiGroupSetTitle(uiGroup *g, const char *title)
Sets the group title.
uiGroup * uiNewGroup(const char *title)
Creates a new group.
void uiGroupSetChild(uiGroup *g, uiControl *c)
Sets the group's child.
char * uiGroupTitle(uiGroup *g)
Returns the group title.
void uiGroupSetMargined(uiGroup *g, int margined)
Sets whether or not the group has a margin.
int uiGroupMargined(uiGroup *g)
Returns whether or not the group has a margin.
A container for an image to be displayed on screen.
uiImage * uiNewImage(double width, double height)
Creates a new image container.
void uiImageAppend(uiImage *i, void *pixels, int pixelWidth, int pixelHeight, int byteStride)
Appends a new image representation.
void uiFreeImage(uiImage *i)
Frees the image container and all associated resources.
size_t Size
Definition ui.h:61
char * uiLabelText(uiLabel *l)
Returns the label text.
uiLabel * uiNewLabel(const char *text)
Creates a new label.
void uiLabelSetText(uiLabel *l, const char *text)
Sets the label text.
void uiMultilineEntryOnChanged(uiMultilineEntry *e, void(*f)(uiMultilineEntry *sender, void *senderData), void *data)
Registers a callback for when the user changes the multi line entry's text.
void uiMultilineEntryAppend(uiMultilineEntry *e, const char *text)
Appends text to the multi line entry's text.
void uiMultilineEntrySetReadOnly(uiMultilineEntry *e, int readonly)
Sets whether or not the multi line entry's text is read only.
uiMultilineEntry * uiNewMultilineEntry(void)
Creates a new multi line entry that visually wraps text when lines overflow.
void uiMultilineEntrySetText(uiMultilineEntry *e, const char *text)
Sets the multi line entry's text.
uiMultilineEntry * uiNewNonWrappingMultilineEntry(void)
Creates a new multi line entry that scrolls horizontally when lines overflow.
char * uiMultilineEntryText(uiMultilineEntry *e)
Returns the multi line entry's text.
int uiMultilineEntryReadOnly(uiMultilineEntry *e)
Returns whether or not the multi line entry's text can be changed.
uiProgressBar * uiNewProgressBar(void)
Creates a new progress bar.
void uiProgressBarSetValue(uiProgressBar *p, int n)
Sets the progress bar value.
int uiProgressBarValue(uiProgressBar *p)
Returns the progress bar value.
uiSeparator * uiNewHorizontalSeparator(void)
Creates a new horizontal separator to separate controls being stacked vertically.
uiSeparator * uiNewVerticalSeparator(void)
Creates a new vertical separator to separate controls being stacked horizontally.
void uiSliderOnReleased(uiSlider *s, void(*f)(uiSlider *sender, void *senderData), void *data)
Registers a callback for when the slider is released from dragging.
uiSlider * uiNewSlider(int min, int max)
Creates a new slider.
int uiSliderHasToolTip(uiSlider *s)
Returns whether or not the slider has a tool tip.
int uiSliderValue(uiSlider *s)
Returns the slider value.
void uiSliderSetValue(uiSlider *s, int value)
Sets the slider value.
void uiSliderOnChanged(uiSlider *s, void(*f)(uiSlider *sender, void *senderData), void *data)
Registers a callback for when the slider value is changed by the user.
void uiSliderSetHasToolTip(uiSlider *s, int hasToolTip)
Sets whether or not the slider has a tool tip.
void uiSliderSetRange(uiSlider *s, int min, int max)
Sets the slider range.
void uiSpinboxOnChanged(uiSpinbox *s, void(*f)(uiSpinbox *sender, void *senderData), void *data)
Registers a callback for when the spinbox value is changed by the user.
void uiSpinboxSetValue(uiSpinbox *s, int value)
Sets the spinbox value.
uiSpinbox * uiNewSpinbox(int min, int max)
Creates a new spinbox.
int uiSpinboxValue(uiSpinbox *s)
Returns the spinbox value.
void uiTabAppend(uiTab *t, const char *name, uiControl *c)
Appends a control in form of a page/tab with label.
void uiTabSetMargined(uiTab *t, int index, int margined)
Sets whether or not the page/tab at index has a margin.
void uiTabOnSelected(uiTab *t, void(*f)(uiTab *sender, void *senderData), void *data)
Registers a callback for when a tab is selected.
int uiTabNumPages(uiTab *t)
Returns the number of pages contained.
void uiTabSetSelected(uiTab *t, int index)
Sets the tab selected.
int uiTabMargined(uiTab *t, int index)
Returns whether or not the page/tab at index has a margin.
int uiTabSelected(uiTab *t)
Returns the index of the tab selected.
void uiTabInsertAt(uiTab *t, const char *name, int index, uiControl *c)
Inserts a control in form of a page/tab with label at index.
void uiTabDelete(uiTab *t, int index)
Removes the control at index.
uiTab * uiNewTab(void)
Creates a new tab container.
void uiTableAppendButtonColumn(uiTable *t, const char *name, int buttonModelColumn, int buttonClickableModelColumn)
Appends a column to the table containing a button.
void uiTableOnRowDoubleClicked(uiTable *t, void(*f)(uiTable *t, int row, void *data), void *data)
Registers a callback for when the user double clicks a table row.
uiTableSelection * uiTableGetSelection(uiTable *t)
Returns the current table selection.
void uiTableOnRowClicked(uiTable *t, void(*f)(uiTable *t, int row, void *data), void *data)
Registers a callback for when the user single clicks a table row.
void uiTableColumnSetWidth(uiTable *t, int column, int width)
Sets the table column width.
uiSortIndicator uiTableHeaderSortIndicator(uiTable *t, int column)
Returns the column's sort indicator displayed in the table header.
int uiTableHeaderVisible(uiTable *t)
Returns whether or not the table header is visible.
void uiTableAppendImageTextColumn(uiTable *t, const char *name, int imageModelColumn, int textModelColumn, int textEditableModelColumn, uiTableTextColumnOptionalParams *textParams)
Appends a column to the table that displays both an image and text.
void uiTableAppendCheckboxTextColumn(uiTable *t, const char *name, int checkboxModelColumn, int checkboxEditableModelColumn, int textModelColumn, int textEditableModelColumn, uiTableTextColumnOptionalParams *textParams)
Appends a column to the table containing a checkbox and text.
int uiTableColumnWidth(uiTable *t, int column)
Returns the table column width.
void uiTableAppendTextColumn(uiTable *t, const char *name, int textModelColumn, int textEditableModelColumn, uiTableTextColumnOptionalParams *textParams)
Appends a text column to the table.
void uiTableSetSelectionMode(uiTable *t, uiTableSelectionMode mode)
Sets the table selection mode.
void uiTableSetSelection(uiTable *t, uiTableSelection *sel)
Sets the current table selection clearing any previous selection.
uiTable * uiNewTable(uiTableParams *params)
Creates a new table.
void uiTableOnSelectionChanged(uiTable *t, void(*f)(uiTable *t, void *data), void *data)
Registers a callback for when the table selection changed.
void uiTableHeaderOnClicked(uiTable *t, void(*f)(uiTable *sender, int column, void *senderData), void *data)
Registers a callback for when a table column header is clicked.
void uiTableAppendCheckboxColumn(uiTable *t, const char *name, int checkboxModelColumn, int checkboxEditableModelColumn)
Appends a column to the table containing a checkbox.
void uiTableHeaderSetSortIndicator(uiTable *t, int column, uiSortIndicator indicator)
Sets the column's sort indicator displayed in the table header.
uiTableSelectionMode uiTableGetSelectionMode(uiTable *t)
Returns the table selection mode.
void uiTableAppendImageColumn(uiTable *t, const char *name, int imageModelColumn)
Appends an image column to the table.
void uiTableHeaderSetVisible(uiTable *t, int visible)
Sets whether or not the table header is visible.
void uiTableAppendProgressBarColumn(uiTable *t, const char *name, int progressModelColumn)
Appends a column to the table containing a progress bar.
Developer defined methods for data retrieval and setting.
Definition ui.h:3503
void(* SetCellValue)(uiTableModelHandler *, uiTableModel *, int, int, const uiTableValue *)
Sets the cell value for (row, column).
Definition ui.h:3553
int(* NumColumns)(uiTableModelHandler *, uiTableModel *)
Returns the number of columns in the uiTableModel.
Definition ui.h:3512
uiTableValueType(* ColumnType)(uiTableModelHandler *, uiTableModel *, int column)
Returns the column type in for of a uiTableValueType.
Definition ui.h:3520
int(* NumRows)(uiTableModelHandler *, uiTableModel *)
Returns the number of rows in the uiTableModel.
Definition ui.h:3525
Table model delegate to retrieve data and inform about model changes.
uiTableModel * uiNewTableModel(uiTableModelHandler *mh)
Creates a new table model.
void uiTableModelRowChanged(uiTableModel *m, int index)
Informs all associated uiTable views that a row has been changed.
void uiFreeTableModel(uiTableModel *m)
Frees the table model.
void uiTableModelRowInserted(uiTableModel *m, int newIndex)
Informs all associated uiTable views that a new row has been added.
void uiTableModelRowDeleted(uiTableModel *m, int oldIndex)
Informs all associated uiTable views that a row has been deleted.
Table parameters passed to uiNewTable().
Definition ui.h:3645
int RowBackgroundColorModelColumn
uiTableModel column that defines background color for each row,
Definition ui.h:3658
uiTableModel * Model
Model holding the data to be displayed.
Definition ui.h:3649
Holds an array of selected row indices for a table.
Definition ui.h:4052
void uiFreeTableSelection(uiTableSelection *s)
Frees the given uiTableSelection and all it's resources.
int * Rows
Array containing selected row indices, NULL on empty selection.
Definition ui.h:4054
int NumRows
Number of selected rows.
Definition ui.h:4053
Optional parameters to control the appearance of text columns.
Definition ui.h:3626
int ColorModelColumn
uiTableModel column that defines the text color for each cell.
Definition ui.h:3635
Container to store values used in container related methods.
int uiTableValueInt(const uiTableValue *v)
Returns the integer value held internally.
void uiTableValueColor(const uiTableValue *v, double *r, double *g, double *b, double *a)
Returns the color value held internally.
void uiFreeTableValue(uiTableValue *v)
Frees the uiTableValue.
uiTableValue * uiNewTableValueImage(uiImage *img)
Creates a new table value to store an image.
uiTableValueType uiTableValueGetType(const uiTableValue *v)
Gets the uiTableValue type.
uiTableValue * uiNewTableValueString(const char *str)
Creates a new table value to store a text string.
const char * uiTableValueString(const uiTableValue *v)
Returns the string value held internally.
uiTableValue * uiNewTableValueInt(int i)
Creates a new table value to store an integer.
uiTableValue * uiNewTableValueColor(double r, double g, double b, double a)
Creates a new table value to store a color in.
uiImage * uiTableValueImage(const uiTableValue *v)
Returns a reference to the image contained.
int uiWindowFocused(uiWindow *w)
Returns whether or not the window is focused.
void uiWindowPosition(uiWindow *w, int *x, int *y)
Gets the window position.
void uiWindowSetContentSize(uiWindow *w, int width, int height)
Sets the window content size.
void uiWindowSetResizeable(uiWindow *w, int resizeable)
Sets whether or not the window is user resizeable.
void uiWindowOnClosing(uiWindow *w, int(*f)(uiWindow *sender, void *senderData), void *data)
Registers a callback for when the window is to be closed.
int uiWindowBorderless(uiWindow *w)
Returns whether or not the window is borderless.
int uiWindowMargined(uiWindow *w)
Returns whether or not the window has a margin.
void uiWindowOnContentSizeChanged(uiWindow *w, void(*f)(uiWindow *sender, void *senderData), void *data)
Registers a callback for when the window content size is changed.
int uiWindowFullscreen(uiWindow *w)
Returns whether or not the window is full screen.
void uiWindowSetBorderless(uiWindow *w, int borderless)
Sets whether or not the window is borderless.
int uiWindowResizeable(uiWindow *w)
Returns whether or not the window is user resizeable.
char * uiWindowTitle(uiWindow *w)
Returns the window title.
void uiWindowSetTitle(uiWindow *w, const char *title)
Sets the window title.
void uiWindowSetChild(uiWindow *w, uiControl *child)
Sets the window's child.
void uiWindowSetFullscreen(uiWindow *w, int fullscreen)
Sets whether or not the window is full screen.
void uiWindowSetPosition(uiWindow *w, int x, int y)
Moves the window to the specified position.
void uiWindowOnPositionChanged(uiWindow *w, void(*f)(uiWindow *sender, void *senderData), void *data)
Registers a callback for when the window moved.
void uiWindowContentSize(uiWindow *w, int *width, int *height)
Gets the window content size.
void uiWindowOnFocusChanged(uiWindow *w, void(*f)(uiWindow *sender, void *senderData), void *data)
Registers a callback for when the window focus changes.
void uiWindowSetMargined(uiWindow *w, int margined)
Sets whether or not the window has a margin.
uiWindow * uiNewWindow(const char *title, int width, int height, int hasMenubar)
Creates a new uiWindow.
struct uiScroll uiScroll
Definition ui.h:4106
#define uiFontButton(this)
Definition ui.h:2795
#define uiSlider(this)
Definition ui.h:1214
void uiDrawMatrixMultiply(uiDrawMatrix *dest, uiDrawMatrix *src)
uiAttribute * uiNewUnderlineAttribute(uiUnderline u)
void uiFreeAttributedString(uiAttributedString *s)
uiWindowResizeEdge
Definition ui.h:2103
@ uiWindowResizeEdgeTop
Definition ui.h:2105
@ uiWindowResizeEdgeBottom
Definition ui.h:2107
@ uiWindowResizeEdgeBottomLeft
Definition ui.h:2110
@ uiWindowResizeEdgeLeft
Definition ui.h:2104
@ uiWindowResizeEdgeRight
Definition ui.h:2106
@ uiWindowResizeEdgeTopLeft
Definition ui.h:2108
@ uiWindowResizeEdgeBottomRight
Definition ui.h:2111
@ uiWindowResizeEdgeTopRight
Definition ui.h:2109
const uiOpenTypeFeatures * uiAttributeFeatures(const uiAttribute *a)
uiTableValueType
uiTableValue types.
Definition ui.h:3330
@ uiTableValueTypeImage
Definition ui.h:3332
@ uiTableValueTypeInt
Definition ui.h:3333
@ uiTableValueTypeColor
Definition ui.h:3334
@ uiTableValueTypeString
Definition ui.h:3331
uiOpenTypeFeatures * uiNewOpenTypeFeatures(void)
#define uiDateTimePicker(this)
Definition ui.h:1673
#define _UI_ENUM(s)
Definition ui.h:44
void uiDrawSave(uiDrawContext *c)
void uiDrawFreeTextLayout(uiDrawTextLayout *tl)
void uiOpenTypeFeaturesForEach(const uiOpenTypeFeatures *otf, uiOpenTypeFeaturesForEachFunc f, void *data)
uiAttributedString * uiNewAttributedString(const char *initialString)
uiAt
Placement specifier to define placement in relation to another control.
Definition ui.h:3100
@ uiAtTop
Place above control.
Definition ui.h:3102
@ uiAtLeading
Place before control.
Definition ui.h:3101
@ uiAtBottom
Place below control.
Definition ui.h:3104
@ uiAtTrailing
Place behind control.
Definition ui.h:3103
#define uiMultilineEntry(this)
Definition ui.h:1746
void uiDrawPathNewFigureWithArc(uiDrawPath *p, double xCenter, double yCenter, double radius, double startAngle, double sweep, int negative)
struct uiAttributedString uiAttributedString
Definition ui.h:2625
uiAttribute * uiNewSizeAttribute(double size)
#define uiGroup(this)
Definition ui.h:1064
void uiLoadControlFont(uiFontDescriptor *f)
const char * uiInit(uiInitOptions *options)
void uiLabelSetAttribute(uiLabel *label, uiAttribute *attr)
void uiDrawPathAddRectangle(uiDrawPath *p, double x, double y, double width, double height)
size_t uiAttributedStringByteIndexToGrapheme(uiAttributedString *s, size_t pos)
size_t uiAttributedStringGraphemeToByteIndex(uiAttributedString *s, size_t pos)
#define uiProgressBar(this)
Definition ui.h:1322
uiForEach(* uiAttributedStringForEachAttributeFunc)(const uiAttributedString *s, const uiAttribute *a, size_t start, size_t end, void *data)
Definition ui.h:2631
void uiAttributedStringDelete(uiAttributedString *s, size_t start, size_t end)
void uiDrawFill(uiDrawContext *c, uiDrawPath *path, uiDrawBrush *b)
uiArea * uiNewScrollingArea(uiAreaHandler *ah, int width, int height)
#define uiSeparator(this)
Definition ui.h:1365
void uiAttributeColor(const uiAttribute *a, double *r, double *g, double *b, double *alpha)
uiTextItalic
Definition ui.h:2394
@ uiTextItalicOblique
Definition ui.h:2396
@ uiTextItalicItalic
Definition ui.h:2397
@ uiTextItalicNormal
Definition ui.h:2395
void uiDrawPathLineTo(uiDrawPath *p, double x, double y)
void uiDrawFreePath(uiDrawPath *p)
uiModifiers
Keyboard modifier keys.
Definition ui.h:2854
@ uiModifierAlt
Alternate/Option key.
Definition ui.h:2856
@ uiModifierSuper
Super/Command/Windows key.
Definition ui.h:2858
@ uiModifierShift
Shift key.
Definition ui.h:2857
@ uiModifierCtrl
Control key.
Definition ui.h:2855
void uiFreeText(char *text)
Free the memory of a returned string.
void uiAttributeUnderlineColor(const uiAttribute *a, uiUnderlineColor *u, double *r, double *g, double *b, double *alpha)
uiOpenTypeFeatures * uiOpenTypeFeaturesClone(const uiOpenTypeFeatures *otf)
void uiTimer(int milliseconds, int(*f)(void *data), void *data)
uiDrawTextAlign
Definition ui.h:2729
@ uiDrawTextAlignCenter
Definition ui.h:2731
@ uiDrawTextAlignLeft
Definition ui.h:2730
@ uiDrawTextAlignRight
Definition ui.h:2732
void uiFreeInitError(const char *err)
#define uiArea(this)
Definition ui.h:2117
uiForEach(* uiOpenTypeFeaturesForEachFunc)(const uiOpenTypeFeatures *otf, char a, char b, char c, char d, uint32_t value, void *data)
Definition ui.h:2532
struct uiAttribute uiAttribute
Definition ui.h:2300
int uiOpenTypeFeaturesGet(const uiOpenTypeFeatures *otf, char a, char b, char c, char d, uint32_t *value)
#define uiMenuItem(this)
Definition ui.h:1842
struct uiDrawPath uiDrawPath
Definition ui.h:2147
struct uiTableValue uiTableValue
Definition ui.h:3306
uiDrawTextLayout * uiDrawNewTextLayout(uiDrawTextLayoutParams *params)
uiAttributeType uiAttributeGetType(const uiAttribute *a)
struct uiTableModel uiTableModel
Definition ui.h:3487
uiTextWeight
Definition ui.h:2363
@ uiTextWeightMaximum
Definition ui.h:2376
@ uiTextWeightNormal
Definition ui.h:2369
@ uiTextWeightBook
Definition ui.h:2368
@ uiTextWeightMedium
Definition ui.h:2370
@ uiTextWeightUltraLight
Definition ui.h:2366
@ uiTextWeightBold
Definition ui.h:2372
@ uiTextWeightUltraBold
Definition ui.h:2373
@ uiTextWeightSemiBold
Definition ui.h:2371
@ uiTextWeightUltraHeavy
Definition ui.h:2375
@ uiTextWeightLight
Definition ui.h:2367
@ uiTextWeightThin
Definition ui.h:2365
@ uiTextWeightMinimum
Definition ui.h:2364
@ uiTextWeightHeavy
Definition ui.h:2374
struct uiDrawContext uiDrawContext
Definition ui.h:2088
int uiDrawMatrixInvertible(uiDrawMatrix *m)
void uiAreaQueueRedrawAll(uiArea *a)
uiAttribute * uiNewFamilyAttribute(const char *family)
uiTextStretch uiAttributeStretch(const uiAttribute *a)
void uiAttributedStringAppendUnattributed(uiAttributedString *s, const char *str)
uiAttribute * uiNewColorAttribute(double r, double g, double b, double a)
void uiDrawMatrixTranslate(uiDrawMatrix *m, double x, double y)
const char * uiAttributedStringString(const uiAttributedString *s)
void uiWindowSetIcon(uiWindow *w, const void *data, size_t length)
void uiDrawPathEnd(uiDrawPath *p)
void uiDrawText(uiDrawContext *c, uiDrawTextLayout *tl, double x, double y)
void uiOpenTypeFeaturesRemove(uiOpenTypeFeatures *otf, char a, char b, char c, char d)
void uiAttributedStringInsertAtUnattributed(uiAttributedString *s, const char *str, size_t at)
#define uiLabel(this)
Definition ui.h:892
uiAttribute * uiNewFeaturesAttribute(const uiOpenTypeFeatures *otf)
void uiDrawClip(uiDrawContext *c, uiDrawPath *path)
uiUnderline uiAttributeUnderline(const uiAttribute *a)
#define uiControl(this)
Definition ui.h:121
void uiQueueMain(void(*f)(void *data), void *data)
uiTextWeight uiAttributeWeight(const uiAttribute *a)
double uiAttributeSize(const uiAttribute *a)
void uiDrawTransform(uiDrawContext *c, uiDrawMatrix *m)
uiAttribute * uiNewWeightAttribute(uiTextWeight weight)
uiAttribute * uiNewBackgroundAttribute(double r, double g, double b, double a)
#define uiRadioButtons(this)
Definition ui.h:1600
uiAttributeType
Definition ui.h:2313
@ uiAttributeTypeUnderline
Definition ui.h:2321
@ uiAttributeTypeBackground
Definition ui.h:2320
@ uiAttributeTypeFamily
Definition ui.h:2314
@ uiAttributeTypeItalic
Definition ui.h:2317
@ uiAttributeTypeColor
Definition ui.h:2319
@ uiAttributeTypeUnderlineColor
Definition ui.h:2322
@ uiAttributeTypeStretch
Definition ui.h:2318
@ uiAttributeTypeSize
Definition ui.h:2315
@ uiAttributeTypeFeatures
Definition ui.h:2323
@ uiAttributeTypeWeight
Definition ui.h:2316
void uiAreaBeginUserWindowMove(uiArea *a)
uiUnderline
Definition ui.h:2458
@ uiUnderlineSuggestion
Definition ui.h:2462
@ uiUnderlineSingle
Definition ui.h:2460
@ uiUnderlineDouble
Definition ui.h:2461
@ uiUnderlineNone
Definition ui.h:2459
#define uiWindow(this)
Definition ui.h:291
uiExtKey
Definition ui.h:2881
@ uiExtKeyF8
Definition ui.h:2900
@ uiExtKeyNSubtract
Definition ui.h:2918
@ uiExtKeyF5
Definition ui.h:2897
@ uiExtKeyF3
Definition ui.h:2895
@ uiExtKeyN3
Definition ui.h:2908
@ uiExtKeyPageUp
Definition ui.h:2887
@ uiExtKeyF12
Definition ui.h:2904
@ uiExtKeyF4
Definition ui.h:2896
@ uiExtKeyRight
Definition ui.h:2892
@ uiExtKeyNDot
Definition ui.h:2915
@ uiExtKeyDelete
Definition ui.h:2884
@ uiExtKeyNAdd
Definition ui.h:2917
@ uiExtKeyN6
Definition ui.h:2911
@ uiExtKeyNEnter
Definition ui.h:2916
@ uiExtKeyDown
Definition ui.h:2890
@ uiExtKeyF10
Definition ui.h:2902
@ uiExtKeyN8
Definition ui.h:2913
@ uiExtKeyN4
Definition ui.h:2909
@ uiExtKeyInsert
Definition ui.h:2883
@ uiExtKeyN0
Definition ui.h:2905
@ uiExtKeyN5
Definition ui.h:2910
@ uiExtKeyN1
Definition ui.h:2906
@ uiExtKeyF11
Definition ui.h:2903
@ uiExtKeyF1
Definition ui.h:2893
@ uiExtKeyF2
Definition ui.h:2894
@ uiExtKeyF6
Definition ui.h:2898
@ uiExtKeyLeft
Definition ui.h:2891
@ uiExtKeyUp
Definition ui.h:2889
@ uiExtKeyEscape
Definition ui.h:2882
@ uiExtKeyF7
Definition ui.h:2899
@ uiExtKeyN7
Definition ui.h:2912
@ uiExtKeyNDivide
Definition ui.h:2920
@ uiExtKeyEnd
Definition ui.h:2886
@ uiExtKeyN2
Definition ui.h:2907
@ uiExtKeyHome
Definition ui.h:2885
@ uiExtKeyF9
Definition ui.h:2901
@ uiExtKeyPageDown
Definition ui.h:2888
@ uiExtKeyN9
Definition ui.h:2914
@ uiExtKeyNMultiply
Definition ui.h:2919
#define uiForm(this)
Definition ui.h:3013
#define _UI_EXTERN
Definition ui.h:39
uiForEach
Definition ui.h:53
@ uiForEachStop
Definition ui.h:55
@ uiForEachContinue
Definition ui.h:54
void uiAreaBeginUserWindowResize(uiArea *a, uiWindowResizeEdge edge)
void uiDrawTextLayoutExtents(uiDrawTextLayout *tl, double *width, double *height)
size_t uiAttributedStringLen(const uiAttributedString *s)
uiDrawPath * uiDrawNewPath(uiDrawFillMode fillMode)
uiAttribute * uiNewUnderlineColorAttribute(uiUnderlineColor u, double r, double g, double b, double a)
int uiDrawPathEnded(uiDrawPath *p)
void uiDrawPathNewFigure(uiDrawPath *p, double x, double y)
void uiDrawStroke(uiDrawContext *c, uiDrawPath *path, uiDrawBrush *b, uiDrawStrokeParams *p)
size_t uiAttributedStringNumGraphemes(uiAttributedString *s)
#define uiButton(this)
Definition ui.h:548
uiDrawLineJoin
Definition ui.h:2167
@ uiDrawLineJoinRound
Definition ui.h:2169
@ uiDrawLineJoinMiter
Definition ui.h:2168
@ uiDrawLineJoinBevel
Definition ui.h:2170
void uiFreeFontDescriptor(uiFontDescriptor *desc)
#define uiCombobox(this)
Definition ui.h:1393
const char * uiAttributeFamily(const uiAttribute *a)
void uiDrawPathArcTo(uiDrawPath *p, double xCenter, double yCenter, double radius, double startAngle, double sweep, int negative)
#define uiMenu(this)
Definition ui.h:1929
uiDrawFillMode
Definition ui.h:2178
@ uiDrawFillModeWinding
Definition ui.h:2179
@ uiDrawFillModeAlternate
Definition ui.h:2180
uiDrawLineCap
Definition ui.h:2161
@ uiDrawLineCapRound
Definition ui.h:2163
@ uiDrawLineCapFlat
Definition ui.h:2162
@ uiDrawLineCapSquare
Definition ui.h:2164
void uiOpenTypeFeaturesAdd(uiOpenTypeFeatures *otf, char a, char b, char c, char d, uint32_t value)
#define uiSpinbox(this)
Definition ui.h:1145
void uiDrawMatrixTransformSize(uiDrawMatrix *m, double *x, double *y)
void uiFreeOpenTypeFeatures(uiOpenTypeFeatures *otf)
uiTextItalic uiAttributeItalic(const uiAttribute *a)
void uiDrawMatrixSetIdentity(uiDrawMatrix *m)
#define uiCheckbox(this)
Definition ui.h:696
void uiAreaSetSize(uiArea *a, int width, int height)
void uiDrawPathCloseFigure(uiDrawPath *p)
uiScroll * uiNewScroll(void)
#define uiTable(this)
Definition ui.h:3683
struct uiOpenTypeFeatures uiOpenTypeFeatures
Definition ui.h:2526
void uiAttributedStringSetAttribute(uiAttributedString *s, uiAttribute *a, size_t start, size_t end)
#define uiGrid(this)
Definition ui.h:3129
void uiDrawMatrixRotate(uiDrawMatrix *m, double x, double y, double amount)
uiAttribute * uiNewItalicAttribute(uiTextItalic italic)
int uiDrawMatrixInvert(uiDrawMatrix *m)
#define uiBox(this)
Definition ui.h:610
void uiUserBugCannotSetParentOnToplevel(const char *type)
struct uiDrawTextLayout uiDrawTextLayout
Definition ui.h:2724
void uiScrollSetChild(uiScroll *scroll, uiControl *ctl)
#define uiTab(this)
Definition ui.h:939
#define uiEditableCombobox(this)
Definition ui.h:1504
uiUnderlineColor
Definition ui.h:2486
@ uiUnderlineColorCustom
Definition ui.h:2487
@ uiUnderlineColorAuxiliary
Definition ui.h:2490
@ uiUnderlineColorGrammar
Definition ui.h:2489
@ uiUnderlineColorSpelling
Definition ui.h:2488
void uiAreaScrollTo(uiArea *a, double x, double y, double width, double height)
void uiDrawMatrixScale(uiDrawMatrix *m, double xCenter, double yCenter, double x, double y)
uiAlign
Alignment specifiers to define placement within the reserved area.
Definition ui.h:3087
@ uiAlignStart
Place at start.
Definition ui.h:3089
@ uiAlignEnd
Place at end.
Definition ui.h:3091
@ uiAlignFill
Fill area.
Definition ui.h:3088
@ uiAlignCenter
Place in center.
Definition ui.h:3090
uiDrawBrushType
Definition ui.h:2154
@ uiDrawBrushTypeImage
Definition ui.h:2158
@ uiDrawBrushTypeSolid
Definition ui.h:2155
@ uiDrawBrushTypeLinearGradient
Definition ui.h:2156
@ uiDrawBrushTypeRadialGradient
Definition ui.h:2157
void uiOnShouldQuit(int(*f)(void *data), void *data)
uiArea * uiNewArea(uiAreaHandler *ah)
void uiDrawRestore(uiDrawContext *c)
void uiDrawMatrixTransformPoint(uiDrawMatrix *m, double *x, double *y)
void uiAttributedStringForEachAttribute(const uiAttributedString *s, uiAttributedStringForEachAttributeFunc f, void *data)
void uiDrawPathBezierTo(uiDrawPath *p, double c1x, double c1y, double c2x, double c2y, double endX, double endY)
uiTextStretch
Definition ui.h:2420
@ uiTextStretchSemiCondensed
Definition ui.h:2424
@ uiTextStretchExpanded
Definition ui.h:2427
@ uiTextStretchExtraExpanded
Definition ui.h:2428
@ uiTextStretchUltraExpanded
Definition ui.h:2429
@ uiTextStretchExtraCondensed
Definition ui.h:2422
@ uiTextStretchCondensed
Definition ui.h:2423
@ uiTextStretchSemiExpanded
Definition ui.h:2426
@ uiTextStretchNormal
Definition ui.h:2425
@ uiTextStretchUltraCondensed
Definition ui.h:2421
void uiDrawMatrixSkew(uiDrawMatrix *m, double x, double y, double xamount, double yamount)
void uiFreeAttribute(uiAttribute *a)
uiAttribute * uiNewStretchAttribute(uiTextStretch stretch)
#define uiEntry(this)
Definition ui.h:774
#define uiColorButton(this)
Definition ui.h:2947
@ uiTableSelectionModeZeroOrMany
Allow zero or many (multiple) rows to be selected.
Definition ui.h:4003
@ uiTableSelectionModeZeroOrOne
Allow zero or one row to be selected.
Definition ui.h:4001
@ uiTableSelectionModeNone
Allow no row selection.
Definition ui.h:4000
@ uiTableSelectionModeOne
Allow for exactly one row to be selected.
Definition ui.h:4002
@ uiSortIndicatorNone
Definition ui.h:3461
@ uiSortIndicatorDescending
Definition ui.h:3463
@ uiSortIndicatorAscending
Definition ui.h:3462