summaryrefslogtreecommitdiff
path: root/widgetfactory.cpp
diff options
context:
space:
mode:
authorJonas Kümmerlin <jonas@kuemmerlin.eu>2020-04-16 18:17:56 +0200
committerJonas Kümmerlin <jonas@kuemmerlin.eu>2020-04-16 18:17:56 +0200
commit536ea04c34ba761d7031eeabb6d50adab0f0f2bd (patch)
tree7def1b680705497636c2f5e5649c0ffeb477539c /widgetfactory.cpp
parent5cbb664bd49cd2b9c035ccfc3024aa436d28c36c (diff)
rework grid layout
Fractional expand is now supported like Qt, and also per row/column instead of as a widget attribute. Instead of margins, you're now supposed to use empty rows/columns instead. Spacer is also gone, use empty rows/columns with minimum size. Layout engine is prepared to directly calculate edit, button, etc. sizes without subclassing these controls
Diffstat (limited to 'widgetfactory.cpp')
-rw-r--r--widgetfactory.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/widgetfactory.cpp b/widgetfactory.cpp
index eec3192..dc343e6 100644
--- a/widgetfactory.cpp
+++ b/widgetfactory.cpp
@@ -128,18 +128,18 @@ WinMain
(HMENU)ID_LBLHELLO,
hInstance,
NULL);
- ALF_AddWidget(win, 0, 0, hwndLabel, 5000, 1000, ALF_INHERITFONT);
+ ALF_AddWidget(win, 0, 0, hwndLabel, 5000, 1000, ALF_LAYOUT_INHERITFONT);
ALF_AddLabel(win, ID_LBL3, 0, 1, TEXT("Good Morning my &Angel!"));
ALF_AddEdit(win, ID_ED1, 1, 1, TEXT("Happy Birthday!"));
- ALF_AddButton(win, ID_B1, 2, 1, TEXT("&Go Go Go!"));
+ ALF_AddButton(win, ID_B1, 3, 1, TEXT("&Go Go Go!"));
ALF_AddButton(win, ID_B2, 0, 2, TEXT("Oh m&y god,\r\nwho the hell cares?"));
ALF_AddLabel(win, ID_LBL4, 0, 3, TEXT("&Editable Combo Box:"));
HWND hwndCombo1 = ALF_AddEditableComboBox(win, ID_COMBO1, 1, 3, TEXT("Hello!"));
- ALF_AddButton(win, ID_B3, 2, 3, TEXT("Ok"));
+ ALF_AddButton(win, ID_B3, 3, 3, TEXT("Ok"));
ALF_ComboBoxInsertString(hwndCombo1, 0, TEXT("Hello World!"));
ALF_ComboBoxInsertString(hwndCombo1, -1, TEXT("Goodbye World!"));
@@ -147,7 +147,7 @@ WinMain
ALF_AddLabel(win, ID_LBL5, 0, 4, TEXT("Selection-Only Combo Box:"));
HWND hwndCombo2 = ALF_AddSelectionOnlyComboBox(win, ID_COMBO2, 1, 4);
- ALF_AddButton(win, ID_B4, 2, 4, TEXT("Lol"));
+ ALF_AddButton(win, ID_B4, 3, 4, TEXT("Lol"));
/*HWND b4 = ALF_WidgetAtLayoutPosition(win, 2, 4);
ALF_SetWidgetLayoutSize(win, b4, 6427, 0);*/
@@ -165,7 +165,8 @@ WinMain
ALF_AddButton(panel, ID_BC1, 0, 0, TEXT("1"));
ALF_AddButton(panel, ID_BC2, 1, 0, TEXT("2"));
ALF_AddButton(panel, ID_BC3, 2, 0, TEXT("3"));
- ALF_AddSpacer(panel, (WORD)-1, 0, 1, 5000, 0, ALF_VEXPAND);
+
+ ALF_LayoutSetRowExpandNumerator(panel, 1, 1);
HWND hwndBc4 = CreateWindowEx(0,
TEXT("BUTTON"),
@@ -186,8 +187,8 @@ WinMain
(HINSTANCE)GetWindowLongPtr(panel, GWLP_HINSTANCE),
NULL);
EnableWindow(hwndBc5, FALSE);
- ALF_AddWidget(panel, 3, 0, hwndBc4, 1000, 0, ALF_INHERITFONT);
- ALF_AddWidget(panel, 4, 0, hwndBc5, 1000, 0, ALF_INHERITFONT);
+ ALF_AddWidget(panel, 3, 0, hwndBc4, 1000, 0, ALF_LAYOUT_INHERITFONT);
+ ALF_AddWidget(panel, 4, 0, hwndBc5, 1000, 0, ALF_LAYOUT_INHERITFONT);
EnableWindow(ALF_WidgetHwndById(win, ID_BC2), FALSE);
@@ -197,10 +198,11 @@ WinMain
ALF_AddLabel(hwndTabPanel1, (WORD)-1, 0, 0, TEXT("Hello World!"));
ALF_AddLabel(hwndTabPanel2, (WORD)-1, 0, 0, TEXT("Goodbye, &World!"));
ALF_AddEdit(hwndTabPanel2, (WORD)-1, 1, 0, TEXT("lol"));
- ALF_AddWidgetLayoutFlag(win, hwndTab, ALF_VEXPAND);
- HWND hwndTabLabel2 = ALF_AddLabel(hwndTabPanel1, (WORD)-1, 0, 1, TEXT("Blabla"));
- ALF_AddWidgetLayoutFlag(hwndTabPanel1, hwndTabLabel2, ALF_VEXPAND);
+ ALF_LayoutSetRowExpandNumerator(win, 7, 1);
+
+ ALF_AddLabel(hwndTabPanel1, (WORD)-1, 0, 1, TEXT("Blabla"));
+ ALF_LayoutSetRowExpandNumerator(hwndTabPanel1, 1, 1);
ALF_AddLabel(hwndTabPanel1, (WORD)-1, 0, 2, TEXT("No 3"));
ALF_AddEdit(hwndTabPanel1, (WORD)-1, 0, 3, TEXT("Dummy"));
@@ -210,6 +212,9 @@ WinMain
ALF_ComboBoxSetText(hwndCombo2, TEXT("Goodbye World!"));
+ ALF_LayoutSetColumnMinSize(win, 2, 825);
+ ALF_LayoutSetColumnExpandNumerator(win, 1, 4);
+ ALF_LayoutSetColumnExpandNumerator(win, 3, 1);
EnableWindow(ALF_WidgetHwndById(win, ID_LBL3), FALSE);