summaryrefslogtreecommitdiff
path: root/widgetfactory.cpp
diff options
context:
space:
mode:
authorJonas Kümmerlin <jonas@kuemmerlin.eu>2020-05-14 17:24:09 +0200
committerJonas Kümmerlin <jonas@kuemmerlin.eu>2020-05-23 12:28:11 +0200
commitc218c7323a069eedbb42fbc31b0bcd8a664928c1 (patch)
tree88f3d8923f3e1283785534e943927d00172a9375 /widgetfactory.cpp
parent860d61661b82198bae93736980c340f5d2c4e152 (diff)
add radio button
Diffstat (limited to 'widgetfactory.cpp')
-rw-r--r--widgetfactory.cpp81
1 files changed, 79 insertions, 2 deletions
diff --git a/widgetfactory.cpp b/widgetfactory.cpp
index 7299074..ecf1bbb 100644
--- a/widgetfactory.cpp
+++ b/widgetfactory.cpp
@@ -566,20 +566,97 @@ notebookPanelInit(HWND panel)
/* checkbox panel */
static void
-checkboxPanelAttach(void *closure, HWND panel)
+checkboxPanelAttach(void *closure, HWND outerPanel)
{
(void)closure;
+ HWND panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 1, 1, TEXT("ALF Checkbox"));
+
ALF_AddCheckbox(panel, (WORD)-1, 1, 2, TEXT("Some Checkbox with a very very really very very long text"));
HWND l = ALF_AddLabel(panel, (WORD)-1, 1, 4, TEXT("Width checker"));
ALF_SetBackgroundColor(l, ALF_COLOR_RGB(0, 0, 255));
ALF_SetTextColor(l, ALF_COLOR_RGB(255, 255, 255));
- ALF_LayoutSetRowMinSize(panel, 1, 825);
+ ALF_AddCheckbox(panel, (WORD)-1, 1, 6, TEXT("Another Checkbox"));
+
+ ALF_LayoutSetRowMinSize(panel, 3, 525);
+ ALF_LayoutSetRowMinSize(panel, 5, 525);
+ ALF_LayoutSetColumnExpandNumerator(panel, 9, 1);
+ ALF_LayoutSetRowExpandNumerator(panel, 9, 1);
+
+ panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 3, 1, TEXT("Native Checkbox"));
+
+ HWND hwnd = CreateWindowEx(0,
+ TEXT("BUTTON"),
+ TEXT("Native Checkbox with long text"),
+ WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_AUTOCHECKBOX,
+ 0, 0, 100, 100,
+ panel,
+ (HMENU)(ULONG_PTR)-1,
+ (HINSTANCE)GetModuleHandle(NULL),
+ NULL);
+
+ ALF_AddWidget(panel, 1, 1, hwnd, 0, 0, ALF_LAYOUT_SIZE_CHECKBOX | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+
ALF_LayoutSetRowMinSize(panel, 3, 825);
+ ALF_LayoutSetRowMinSize(panel, 5, 825);
ALF_LayoutSetColumnExpandNumerator(panel, 9, 1);
ALF_LayoutSetRowExpandNumerator(panel, 9, 1);
+
+ panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 1, 3, TEXT("ALF Radio Button"));
+
+ hwnd = ALF_AddRadioButton(panel, (WORD)-1, 1, 2, TEXT("Some Radio button"));
+ ALF_AddRadioButton(panel, (WORD)-1, 1, 4, TEXT("Another long One"));
+ ALF_AddRadioButton(panel, (WORD)-1, 1, 6, TEXT("Option 3"));
+ ALF_AddRadioButton(panel, (WORD)-1, 1, 8, TEXT("Option IV"));
+
+ SendMessage(hwnd, BM_SETCHECK, BST_CHECKED, 0);
+
+ ALF_LayoutSetRowMinSize(panel, 3, 525);
+ ALF_LayoutSetRowMinSize(panel, 5, 525);
+ ALF_LayoutSetRowMinSize(panel, 7, 525);
+ ALF_LayoutSetColumnExpandNumerator(panel, 9, 1);
+ ALF_LayoutSetRowExpandNumerator(panel, 9, 1);
+
+ panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 3, 3, TEXT("Native Radio"));
+
+ hwnd = CreateWindowEx(0,
+ TEXT("BUTTON"),
+ TEXT("Native Radio Button with long text"),
+ WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
+ 0, 0, 100, 100,
+ panel,
+ (HMENU)(ULONG_PTR)-1,
+ (HINSTANCE)GetModuleHandle(NULL),
+ NULL);
+ SendMessage(hwnd, BM_SETCHECK, BST_CHECKED, 0);
+ ALF_AddWidget(panel, 1, 1, hwnd, 0, 0, ALF_LAYOUT_SIZE_RADIOBUTTON | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+
+ hwnd = CreateWindowEx(0,
+ TEXT("BUTTON"),
+ TEXT("Native Radio Button #2"),
+ WS_CHILD | WS_VISIBLE | BS_AUTORADIOBUTTON,
+ 0, 0, 100, 100,
+ panel,
+ (HMENU)(ULONG_PTR)-1,
+ (HINSTANCE)GetModuleHandle(NULL),
+ NULL);
+ ALF_AddWidget(panel, 1, 3, hwnd, 0, 0, ALF_LAYOUT_SIZE_RADIOBUTTON | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+
+ ALF_LayoutSetRowMinSize(panel, 2, 525);
+ ALF_LayoutSetRowMinSize(panel, 4, 525);
+ ALF_LayoutSetColumnExpandNumerator(panel, 9, 1);
+ ALF_LayoutSetRowExpandNumerator(panel, 9, 1);
+
+ ALF_LayoutSetRowMinSize(outerPanel, 0, 825);
+ ALF_LayoutSetRowMinSize(outerPanel, 2, 825);
+ ALF_LayoutSetColumnMinSize(outerPanel, 0, 825);
+ ALF_LayoutSetColumnMinSize(outerPanel, 2, 825);
+ ALF_LayoutSetColumnMinSize(outerPanel, 4, 825);
+ ALF_LayoutSetColumnExpandNumerator(outerPanel, 1, 1);
+ ALF_LayoutSetColumnExpandNumerator(outerPanel, 3, 1);
+ ALF_LayoutSetRowExpandNumerator(outerPanel, 1, 1);
}
static ALFPanelVTable checkboxPanelVtbl = {