summaryrefslogtreecommitdiff
path: root/widgetfactory.cpp
diff options
context:
space:
mode:
authorJonas Kümmerlin <jonas@kuemmerlin.eu>2020-04-29 13:45:30 +0200
committerJonas Kümmerlin <jonas@kuemmerlin.eu>2020-04-29 13:45:30 +0200
commitd752fd2f1ff39fc27b8703fdb8c7f0d68dd87c53 (patch)
tree95781c13c550008661af4b242eafdc6fe400f1ac /widgetfactory.cpp
parente40fa1cd91cff58be6e7c91273789eb838ebe611 (diff)
button: use default min size and fixup order vertical centering
Diffstat (limited to 'widgetfactory.cpp')
-rw-r--r--widgetfactory.cpp92
1 files changed, 85 insertions, 7 deletions
diff --git a/widgetfactory.cpp b/widgetfactory.cpp
index 2273806..3e8dceb 100644
--- a/widgetfactory.cpp
+++ b/widgetfactory.cpp
@@ -230,19 +230,27 @@ commonPanelDestroy(void *closure, HWND window)
/* button panel */
static void
-buttonPanelAttach(void *closure, HWND panel)
+buttonPanelAttach(void *closure, HWND outerPanel)
{
(void)closure;
+ HWND b;
+ HWND panel;
+
+ panel = ALF_AddPanel(outerPanel, (WORD)-1, 0, 0);
+
ALF_AddLabel(panel, (WORD)-1, 0, 2, TEXT("normal"));
ALF_AddLabel(panel, (WORD)-1, 0, 4, TEXT("disabled"));
ALF_AddLabel(panel, (WORD)-1, 2, 0, TEXT("ALF"));
ALF_AddLabel(panel, (WORD)-1, 4, 0, TEXT("native"));
ALF_AddLabel(panel, (WORD)-1, 0, 6, TEXT("layout dummy"));
- ALF_AddButton(panel, ID_HELLO, 2, 2, TEXT("&Hello, World!"));
- HWND bDisabled = ALF_AddButton(panel, (WORD)-1, 2, 4, TEXT("Hello, World!"));
- EnableWindow(bDisabled, FALSE);
+ b = ALF_AddButton(panel, ID_HELLO, 2, 2, TEXT("&Hello, World!"));
+ ALF_SetWidgetLayoutMinSize(panel, b, 0, 0);
+ b = ALF_AddButton(panel, (WORD)-1, 2, 4, TEXT("Hello, World!"));
+ EnableWindow(b, FALSE);
+ ALF_SetWidgetLayoutMinSize(panel, b, 0, 0);
+
HWND hwndNb1 = CreateWindowEx(0,
TEXT("BUTTON"),
@@ -267,18 +275,88 @@ buttonPanelAttach(void *closure, HWND panel)
ALF_AddWidget(panel, 4, 2, hwndNb1, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
ALF_AddWidget(panel, 4, 4, hwndNb2, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
- ALF_AddButton(panel, (WORD)-1, 4, 6, TEXT("Hello, World!"));
+ b = ALF_AddButton(panel, (WORD)-1, 4, 6, TEXT("Hello, World!"));
+ ALF_SetWidgetLayoutMinSize(panel, b, 0, 0);
- ALF_AddButton(panel, (WORD)-1, 4, 8, TEXT("Multiline\r\nButton"));
+ b = ALF_AddButton(panel, (WORD)-1, 2, 8, TEXT("Multiline\r\nButton"));
+ ALF_SetWidgetLayoutMinSize(panel, b, 0, 0);
+
+ HWND hwndNb3 = CreateWindowEx(0,
+ TEXT("BUTTON"),
+ TEXT("Multiline\r\nButton"),
+ WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON | BS_MULTILINE,
+ 0, 0, 100, 100,
+ panel,
+ (HMENU)(WORD)-1,
+ (HINSTANCE)GetModuleHandle(NULL),
+ NULL);
+
+ ALF_AddWidget(panel, 4, 8, hwndNb3, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
ALF_LayoutSetRowMinSize(panel, 1, 825);
ALF_LayoutSetRowMinSize(panel, 3, 825);
ALF_LayoutSetRowMinSize(panel, 5, 825);
ALF_LayoutSetRowMinSize(panel, 7, 825);
+ ALF_LayoutSetRowMinSize(panel, 9, 825);
ALF_LayoutSetColumnMinSize(panel, 1, 825);
ALF_LayoutSetColumnMinSize(panel, 3, 825);
+
ALF_LayoutSetColumnExpandNumerator(panel, 9, 1);
- ALF_LayoutSetRowExpandNumerator(panel, 9, 1);
+
+ panel = ALF_AddPanel(outerPanel, (WORD)-1, 0, 1);
+
+ ALF_AddButton(panel, (WORD)-1, 2, 2, TEXT("Standard"));
+
+ HWND hwndNb4 = CreateWindowEx(0,
+ TEXT("BUTTON"),
+ TEXT("Standard"),
+ WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
+ 0, 0, 100, 100,
+ panel,
+ (HMENU)(WORD)-1,
+ (HINSTANCE)GetModuleHandle(NULL),
+ NULL);
+ ALF_AddWidget(panel, 4, 2, hwndNb4, 5625, 1725, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+
+ ALF_AddButton(panel, (WORD)-1, 2, 4, TEXT("Expanding"));
+
+ HWND hwndNb5 = CreateWindowEx(0,
+ TEXT("BUTTON"),
+ TEXT("Expanding"),
+ WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON,
+ 0, 0, 100, 100,
+ panel,
+ (HMENU)(WORD)-1,
+ (HINSTANCE)GetModuleHandle(NULL),
+ NULL);
+ ALF_AddWidget(panel, 4, 4, hwndNb5, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+
+ ALF_AddButton(panel, (WORD)-1, 2, 6, TEXT("Expanding\r\nMultiline"));
+
+ HWND hwndNb6 = CreateWindowEx(0,
+ TEXT("BUTTON"),
+ TEXT("Expanding\r\nMultiline"),
+ WS_CHILD | WS_TABSTOP | WS_VISIBLE | BS_PUSHBUTTON | BS_MULTILINE,
+ 0, 0, 100, 100,
+ panel,
+ (HMENU)(WORD)-1,
+ (HINSTANCE)GetModuleHandle(NULL),
+ NULL);
+ ALF_AddWidget(panel, 4, 6, hwndNb6, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+
+ ALF_LayoutSetRowMinSize(panel, 1, 825);
+ ALF_LayoutSetRowMinSize(panel, 3, 825);
+ ALF_LayoutSetRowMinSize(panel, 5, 825);
+ ALF_LayoutSetRowMinSize(panel, 7, 825);
+ ALF_LayoutSetColumnMinSize(panel, 1, 825);
+ ALF_LayoutSetColumnMinSize(panel, 3, 825);
+
+ ALF_LayoutSetColumnExpandNumerator(panel, 9, 1);
+ ALF_LayoutSetRowExpandNumerator(panel, 4, 1);
+ ALF_LayoutSetRowExpandNumerator(panel, 6, 1);
+
+ ALF_LayoutSetRowExpandNumerator(outerPanel, 1, 1);
+
// TODO: recreate old button box
/*HWND panel = ALF_AddPanel(win, (WORD)-1, 1, 2);