static void Init(void *obj) { AG_FileSelector *fs = obj; fs->flags = 0; fs->panel = NULL; fs->wSaved = 0; fs->hSaved = 0; fs->inTxt[0] = '\0'; /* XXX TODO: Check for UTF-8 support in filesystem. */ fs->tbox = AG_TextboxNewS(fs, AG_TEXTBOX_COMBO|AG_TEXTBOX_EXCL, NULL); AG_TextboxBindUTF8(fs->tbox, fs->inTxt, sizeof(fs->inTxt)); fs->button = AG_ButtonNewS(fs, AG_BUTTON_STICKY, _("Browse...")); AG_ButtonSetPadding(fs->button, 1,1,1,1); AG_WidgetSetFocusable(fs->button, 0); fs->filedlg = Malloc(sizeof(AG_FileDlg)); AG_ObjectInit(fs->filedlg, &agFileDlgClass); AG_Expand(fs->filedlg); AG_SetEvent(fs->button, "button-pushed", Expand, "%p", fs); AG_SetEvent(fs->filedlg, "file-chosen", FileChosen, "%p", fs); AG_SetEvent(fs->tbox, "textbox-return", Return, "%p", fs); }
static void CreateCloseButton(AG_Titlebar *tbar) { tbar->close_btn = AG_ButtonNewS(tbar, 0, NULL); AG_ButtonJustify(tbar->close_btn, AG_TEXT_LEFT); AG_ButtonSetFocusable(tbar->close_btn, 0); AG_ButtonSurfaceNODUP(tbar->close_btn, agIconWinClose.s); AG_ButtonSetPadding(tbar->close_btn, 0,0,0,0); AG_SetEvent(tbar->close_btn, "button-pushed", CloseWindow, "%p", tbar); }
static void Init(void *obj) { AG_UCombo *com = obj; WIDGET(com)->flags |= AG_WIDGET_UNFOCUSED_BUTTONUP| AG_WIDGET_TABLE_EMBEDDABLE; com->flags = 0; com->panel = NULL; com->wSaved = 0; com->hSaved = 0; com->wPreList = -1; com->hPreList = -1; com->button = AG_ButtonNewS(com, AG_BUTTON_STICKY, _("...")); AG_ButtonSetPadding(com->button, 0,0,0,0); AG_LabelSetPadding(com->button->lbl, 0,0,0,0); AG_WidgetSetFocusable(com->button, 0); com->list = Malloc(sizeof(AG_Tlist)); AG_ObjectInit(com->list, &agTlistClass); AG_Expand(com->list); AG_WidgetForwardFocus(com, com->button); AG_SetEvent(com, "detached", OnDetach, NULL); AG_SetEvent(com->button, "button-pushed", Expand, "%p", com); AG_SetEvent(com->list, "tlist-changed", SelectedItem, "%p", com); #ifdef AG_DEBUG AG_BindUint(com, "flags", &com->flags); AG_BindPointer(com, "list", (void *)&com->list); AG_BindPointer(com, "panel", (void *)&com->panel); AG_BindInt(com, "wSaved", &com->wSaved); AG_BindInt(com, "hSaved", &com->hSaved); AG_BindInt(com, "wPreList", &com->wPreList); AG_BindInt(com, "hPreList", &com->hPreList); #endif }