summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--alf/alf.cpp198
-rw-r--r--alf/alf.h147
-rw-r--r--alf/alfbutton.cpp4
-rw-r--r--alf/alfcombobox.cpp2
-rw-r--r--alf/alfedit.cpp2
-rw-r--r--alf/alfgroupbox.cpp26
-rw-r--r--alf/alflabel.cpp2
-rw-r--r--alf/alflayout.cpp420
-rw-r--r--alf/alflayout.h18
-rw-r--r--alf/alfnativebtn.cpp6
-rw-r--r--alf/alfnotebook.cpp18
-rw-r--r--alf/alfpanel.cpp14
-rw-r--r--widgetfactory.cpp241
13 files changed, 551 insertions, 547 deletions
diff --git a/alf/alf.cpp b/alf/alf.cpp
index a4abca6..fbee438 100644
--- a/alf/alf.cpp
+++ b/alf/alf.cpp
@@ -12,26 +12,6 @@ ALF_UpdateFonts(HWND win)
}
void
-ALF_InvalidateLayout(HWND hwnd)
-{
- SendMessage(hwnd, ALF_WM_INVALIDATELAYOUT, 0, 0);
-}
-
-void
-ALF_AddWidget(HWND win, int x, int y, HWND widget, int minWidth, int minHeight, DWORD flags)
-{
- ALFAddWidgetParams params;
- ZeroMemory(&params, sizeof(params));
- params.hwnd = widget;
- params.x = x;
- params.y = y;
- params.width = minWidth;
- params.height = minHeight;
- params.flags = flags;
- SendMessage(win, ALF_WM_ADDWIDGET, 0, (LPARAM)&params);
-}
-
-void
ALF_Initialize(void)
{
// acquire init lock
@@ -117,15 +97,15 @@ ALF_GetDpi(HWND window)
return (int)SendMessage(window, ALF_WM_GETDPI, 0, 0);
}
-struct ALF_WidgetHwndById_Closure {
+struct ALF_ControlHwndById_Closure {
HWND result;
WORD needle;
};
static BOOL CALLBACK
-ALF_WidgetHwndById_EnumChildProc(HWND hwnd, LPARAM lParam)
+ALF_ControlHwndById_EnumChildProc(HWND hwnd, LPARAM lParam)
{
- struct ALF_WidgetHwndById_Closure *closure = (struct ALF_WidgetHwndById_Closure*)lParam;
+ struct ALF_ControlHwndById_Closure *closure = (struct ALF_ControlHwndById_Closure*)lParam;
if ((WORD)GetWindowLongPtr(hwnd, GWLP_ID) == closure->needle) {
closure->result = hwnd;
return FALSE;
@@ -134,10 +114,10 @@ ALF_WidgetHwndById_EnumChildProc(HWND hwnd, LPARAM lParam)
}
HWND
-ALF_WidgetHwndById(HWND win, WORD id)
+ALF_ControlHwndById(HWND win, WORD id)
{
- struct ALF_WidgetHwndById_Closure closure = { 0, id };
- EnumChildWindows(win, ALF_WidgetHwndById_EnumChildProc, (LPARAM)&closure);
+ struct ALF_ControlHwndById_Closure closure = { 0, id };
+ EnumChildWindows(win, ALF_ControlHwndById_EnumChildProc, (LPARAM)&closure);
return closure.result;
}
@@ -147,14 +127,6 @@ ALF_SetText(HWND hwnd, const TCHAR *text)
SendMessage(hwnd, WM_SETTEXT, 0, (LPARAM)text);
}
-void
-ALF_SetWidgetText(HWND parent, WORD id, const TCHAR *text)
-{
- HWND h = ALF_WidgetHwndById(parent, id);
- if (h)
- ALF_SetText(h, text);
-}
-
TCHAR * // free with ALF_Free
ALF_Text(HWND hwnd)
{
@@ -171,162 +143,6 @@ ALF_Text(HWND hwnd)
return ALF_New(TCHAR, 1);
}
-TCHAR * // free with ALF_Free
-ALF_WidgetText(HWND parent, WORD id)
-{
- HWND h = ALF_WidgetHwndById(parent, id);
- if (h)
- return ALF_Text(h);
-
- return NULL;
-}
-
-DWORD
-ALF_WidgetLayoutFlags(HWND parent, HWND widget)
-{
- return (DWORD)SendMessage(parent, ALF_WM_LYT_GETWDGTFLAGS, (WPARAM)widget, 0);
-}
-
-BOOL
-ALF_SetWidgetLayoutFlags(HWND parent, HWND widget, DWORD flags)
-{
- return (BOOL)SendMessage(parent, ALF_WM_LYT_SETWDGTFLAGS, (WPARAM)widget, (LPARAM)flags);
-}
-
-BOOL
-ALF_WidgetLayoutPosition(HWND parent, HWND widget, int *pX, int *pY)
-{
- POINT p = { 0, 0 };
-
- LRESULT r = SendMessage(parent, ALF_WM_LYT_GETWIDGETPOS, (WPARAM)widget, (LPARAM)&p);
- *pX = p.x;
- *pY = p.y;
- return (BOOL)r;
-}
-
-BOOL
-ALF_SetWidgetLayoutPosition(HWND parent, HWND widget, int x, int y)
-{
- POINT p = { x, y };
- return (BOOL)SendMessage(parent, ALF_WM_LYT_SETWIDGETPOS, (WPARAM)widget, (LPARAM)&p);
-}
-
-BOOL
-ALF_WidgetLayoutSpan(HWND parent, HWND widget, int *pXspan, int *pYspan)
-{
- POINT p = { 0, 0 };
-
- LRESULT r = SendMessage(parent, ALF_WM_LYT_GETWDGTSPAN, (WPARAM)widget, (LPARAM)&p);
- *pXspan = p.x;
- *pYspan = p.y;
- return (BOOL)r;
-}
-
-BOOL
-ALF_SetWidgetLayoutSpan(HWND parent, HWND widget, int xspan, int yspan)
-{
- POINT p = { xspan, yspan };
- return (BOOL)SendMessage(parent, ALF_WM_LYT_SETWDGTSPAN, (WPARAM)widget, (LPARAM)&p);
-}
-
-
-BOOL
-ALF_WidgetLayoutMinSize(HWND parent, HWND widget, int *pWidth, int *pHeight)
-{
- SIZE s = { 0, 0 };
- LRESULT r = SendMessage(parent, ALF_WM_LYT_GETWIDGTSIZE, (WPARAM)widget, (LPARAM)&s);
- *pWidth = s.cx;
- *pHeight = s.cy;
- return (BOOL)r;
-}
-
-BOOL
-ALF_SetWidgetLayoutMinSize(HWND parent, HWND widget, int width, int height)
-{
- SIZE s = { width, height };
- return (BOOL)SendMessage(parent, ALF_WM_LYT_SETWIDGTSIZE, (WPARAM)widget, (LPARAM)&s);
-}
-
-HWND
-ALF_WidgetAtLayoutPosition(HWND parent, int x, int y)
-{
- int xy[2] = { x, y };
-
- return (HWND)SendMessage(parent, ALF_WM_GETWIDGETATPOS, 0, (LPARAM)&xy);
-}
-
-int
-ALF_LayoutRowMinSize(HWND parent, int rowno)
-{
- return (int)SendMessage(parent, ALF_WM_LYT_GETROWSIZE, (WPARAM)rowno, 0);
-}
-
-BOOL
-ALF_LayoutSetRowMinSize(HWND parent, int rowno, int rowsize)
-{
- return (BOOL)SendMessage(parent, ALF_WM_LYT_SETROWSIZE, (WPARAM)rowno, (LPARAM)rowsize);
-}
-
-int
-ALF_LayoutColumnMinSize(HWND parent, int colno)
-{
- return (int)SendMessage(parent, ALF_WM_LYT_GETCOLSIZE, (WPARAM)colno, 0);
-}
-
-BOOL
-ALF_LayoutSetColumnMinSize(HWND parent, int colno, int colsize)
-{
- return (BOOL)SendMessage(parent, ALF_WM_LYT_SETCOLSIZE, (WPARAM)colno, (LPARAM)colsize);
-}
-
-DWORD
-ALF_LayoutRowFlags(HWND parent, int rowno)
-{
- return (DWORD)SendMessage(parent, ALF_WM_LYT_GETROWFLAGS, (WPARAM)rowno, 0);
-}
-
-BOOL
-ALF_LayoutSetRowFlags(HWND parent, int rowno, DWORD flags)
-{
- return (BOOL)SendMessage(parent, ALF_WM_LYT_SETROWFLAGS, (WPARAM)rowno, (LPARAM)flags);
-}
-
-DWORD
-ALF_LayoutColumnFlags(HWND parent, int colno)
-{
- return (DWORD)SendMessage(parent, ALF_WM_LYT_GETCOLFLAGS, (WPARAM)colno, 0);
-}
-
-BOOL
-ALF_LayoutSetColumnFlags(HWND parent, int colno, DWORD flags)
-{
- return (BOOL)SendMessage(parent, ALF_WM_LYT_SETCOLFLAGS, (WPARAM)colno, (LPARAM)flags);
-}
-
-int
-ALF_LayoutRowExpandNumerator(HWND parent, int rowno)
-{
- return (int)SendMessage(parent, ALF_WM_LYT_GETROWEXPAND, (WPARAM)rowno, 0);
-}
-
-BOOL
-ALF_LayoutSetRowExpandNumerator(HWND parent, int rowno, int expand)
-{
- return (BOOL)SendMessage(parent, ALF_WM_LYT_SETROWEXPAND, (WPARAM)rowno, (LPARAM)expand);
-}
-
-int
-ALF_LayoutColumnExpandNumerator(HWND parent, int colno)
-{
- return (int)SendMessage(parent, ALF_WM_LYT_GETCOLEXPAND, (WPARAM)colno, 0);
-}
-
-BOOL
-ALF_LayoutSetColumnExpandNumerator(HWND parent, int colno, int expand)
-{
- return (int)SendMessage(parent, ALF_WM_LYT_SETCOLEXPAND, (WPARAM)colno, (LPARAM)expand);
-}
-
BOOL
ALF_ShouldMessageBubble(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
{
@@ -379,7 +195,7 @@ ALF_SetBackgroundColor(HWND win, ALFColor color)
{
HWND parent = GetParent(win);
if (parent) {
- ALF_RemoveWidgetLayoutFlag(parent, win, ALF_LAYOUT_INHERITBGCOLOR);
+ ALF_Layout_RemoveControlFlag(parent, win, ALF_LAYOUT_INHERITBGCOLOR);
}
SendMessage(win, ALF_WM_SETBGCOLOR, 0, (LPARAM)color);
diff --git a/alf/alf.h b/alf/alf.h
index 6183b58..c30f8ba 100644
--- a/alf/alf.h
+++ b/alf/alf.h
@@ -72,11 +72,10 @@ typedef struct {
// messages
#define ALF_WM__BASE 0x2800
#define ALF_WM_QUERYSIZE (ALF_WM__BASE + 1)
-#define ALF_WM_APPLYLAYOUT (ALF_WM__BASE + 2)
#define ALF_WM_UPDATEFONTS (ALF_WM__BASE + 3)
-#define ALF_WM_ADDWIDGET (ALF_WM__BASE + 4)
-#define ALF_WM_WIDGETBYID (ALF_WM__BASE + 5)
-#define ALF_WM_REMOVEWIDGET (ALF_WM__BASE + 6)
+#define ALF_WM_ADDCONTROL (ALF_WM__BASE + 4)
+#define ALF_WM_CONTROLBYID (ALF_WM__BASE + 5)
+#define ALF_WM_REMOVECONTROL (ALF_WM__BASE + 6)
#define ALF_WM_SETMODALRESULT (ALF_WM__BASE + 7)
#define ALF_WM_GETMODALRESULT (ALF_WM__BASE + 8)
#define ALF_WM_GETDPI (ALF_WM__BASE + 9)
@@ -85,15 +84,15 @@ typedef struct {
#define ALF_WM_APPLYSIZE (ALF_WM__BASE + 12)
#define ALF_WM_SETBGCOLOR (ALF_WM__BASE + 13)
#define ALF_WM_GETBGCOLOR (ALF_WM__BASE + 14)
-#define ALF_WM_GETWIDGETATPOS (ALF_WM__BASE + 15)
+#define ALF_WM_LYT_GETCTLATPOS (ALF_WM__BASE + 15)
#define ALF_WM_INVALIDATELAYOUT (ALF_WM__BASE + 17)
#define ALF_WM_VALIDATELAYOUT (ALF_WM__BASE + 18)
-#define ALF_WM_LYT_GETWIDGETPOS (ALF_WM__BASE + 19)
-#define ALF_WM_LYT_SETWIDGETPOS (ALF_WM__BASE + 20)
-#define ALF_WM_LYT_GETWIDGTSIZE (ALF_WM__BASE + 21)
-#define ALF_WM_LYT_SETWIDGTSIZE (ALF_WM__BASE + 22)
-#define ALF_WM_LYT_GETWDGTFLAGS (ALF_WM__BASE + 23)
-#define ALF_WM_LYT_SETWDGTFLAGS (ALF_WM__BASE + 24)
+#define ALF_WM_LYT_GETCTLPOS (ALF_WM__BASE + 19)
+#define ALF_WM_LYT_SETCTLPOS (ALF_WM__BASE + 20)
+#define ALF_WM_LYT_GETCTLSIZE (ALF_WM__BASE + 21)
+#define ALF_WM_LYT_SETCTLSIZE (ALF_WM__BASE + 22)
+#define ALF_WM_LYT_GETCTLFLAGS (ALF_WM__BASE + 23)
+#define ALF_WM_LYT_SETCTLFLAGS (ALF_WM__BASE + 24)
#define ALF_WM_LYT_GETCOLSIZE (ALF_WM__BASE + 25)
#define ALF_WM_LYT_SETCOLSIZE (ALF_WM__BASE + 26)
#define ALF_WM_LYT_GETCOLEXPAND (ALF_WM__BASE + 27)
@@ -109,8 +108,8 @@ typedef struct {
#define ALF_WM_GETTEXTCOLOR (ALF_WM__BASE + 37)
#define ALF_WM_SETTEXTCOLOR (ALF_WM__BASE + 38)
#define ALF_WM_DPICHANGE (ALF_WM__BASE + 39)
-#define ALF_WM_LYT_GETWDGTSPAN (ALF_WM__BASE + 40)
-#define ALF_WM_LYT_SETWDGTSPAN (ALF_WM__BASE + 41)
+#define ALF_WM_LYT_GETCTLSPAN (ALF_WM__BASE + 40)
+#define ALF_WM_LYT_SETCTLSPAN (ALF_WM__BASE + 41)
#define ALF_WM_LBL_GETSTYLE (ALF_WM__BASE + 201)
#define ALF_WM_LBL_SETSTYLE (ALF_WM__BASE + 202)
@@ -171,14 +170,9 @@ ALF_CentipointsToPixels(int cptValue, int dpi);
int
ALF_GetDpi(HWND hwnd);
-void
-ALF_AddWidget(HWND win, int x, int y, HWND widget, int width, int height, DWORD flags);
-
HWND
-ALF_WidgetHwndById(HWND win, WORD id);
+ALF_ControlHwndById(HWND win, WORD id);
-void
-ALF_InvalidateLayout(HWND win);
// Sends ALF_WM_BACKGROUNDCHANGE to notify the window of a changed background
// Only useful when you have overridden the window or panel pain() vfunc
@@ -186,7 +180,7 @@ ALF_InvalidateLayout(HWND win);
void
ALF_InvalidateBackground(HWND win);
-// Recalculates the window's fonts and applies them to child widgets.
+// Recalculates the window's fonts and applies them to child controls.
// ALF does this automatically on a DPI or settings change so you shouldn't have
// to call ALF_UpdateFonts().
void
@@ -194,7 +188,7 @@ ALF_UpdateFonts(HWND win);
// Sets the background color of the given window
// Also, if the window is a child window, disables the ALF_LAYOUT_INHERITBGCOLOR flag
-// Only the following widgets have background colors:
+// Only the following controls have background colors:
// - Top-Level window
// - Panel
// - Label
@@ -217,100 +211,129 @@ ALF_SetFocus(HWND target);
void
ALF_SetText(HWND hwnd, const TCHAR *text);
-void
-ALF_SetWidgetText(HWND parent, WORD id, const TCHAR *text);
-
TCHAR * // free with ALF_Free
ALF_Text(HWND hwnd);
-TCHAR * // free with ALF_Free
-ALF_WidgetText(HWND parent, WORD id);
+void
+ALF_FillRect(HDC dc, const RECT *rc, ALFColor color);
+
+// wrapper for MessageBox() that handles modality for multiple toplevels with ALFApplication
+int
+ALF_MessageBox(HWND hwnd, const TCHAR *text, const TCHAR *caption, UINT type);
+
+// layout
+//
+// All of these functions are appropriate for every container that contains layouted children,
+// i.e. toplevel, panel and groupbox
+//
+// Container controls which do not layout their children (e.g. notebook) might still
+// support some of these functions in some ways, mostly (Set)ControlFlags so that
+// background color and font inheritance can be toggled
+
+void
+ALF_InvalidateLayout(HWND win);
+
+void
+ALF_AddControl(HWND win, int x, int y, HWND control, int width, int height, DWORD flags);
DWORD
-ALF_WidgetLayoutFlags(HWND parent, HWND widget);
+ALF_Layout_ControlFlags(HWND parent, HWND control);
BOOL
-ALF_SetWidgetLayoutFlags(HWND parent, HWND widget, DWORD flags);
+ALF_Layout_SetControlFlags(HWND parent, HWND control, DWORD flags);
static inline void
-ALF_AddWidgetLayoutFlag(HWND parent, HWND widget, DWORD flag)
+ALF_Layout_AddControlFlag(HWND parent, HWND control, DWORD flag)
{
- ALF_SetWidgetLayoutFlags(parent, widget, ALF_WidgetLayoutFlags(parent, widget) | flag);
+ ALF_Layout_SetControlFlags(parent, control, ALF_Layout_ControlFlags(parent, control) | flag);
}
static inline void
-ALF_RemoveWidgetLayoutFlag(HWND parent, HWND widget, DWORD flag)
+ALF_Layout_RemoveControlFlag(HWND parent, HWND control, DWORD flag)
{
- ALF_SetWidgetLayoutFlags(parent, widget, ALF_WidgetLayoutFlags(parent, widget) & ~flag);
+ ALF_Layout_SetControlFlags(parent, control, ALF_Layout_ControlFlags(parent, control) & ~flag);
}
BOOL
-ALF_WidgetLayoutPosition(HWND parent, HWND widget, int *pX, int *pY);
+ALF_Layout_ControlPosition(HWND parent, HWND control, int *pX, int *pY);
BOOL
-ALF_SetWidgetLayoutPosition(HWND parent, HWND widget, int x, int y);
+ALF_Layout_SetControlPosition(HWND parent, HWND control, int x, int y);
BOOL
-ALF_WidgetLayoutSpan(HWND parent, HWND widget, int *pXspan, int *pYspan);
+ALF_Layout_ControlSpan(HWND parent, HWND control, int *pXspan, int *pYspan);
BOOL
-ALF_SetWidgetLayoutSpan(HWND parent, HWND widget, int xspan, int yspan);
+ALF_Layout_SetControlSpan(HWND parent, HWND control, int xspan, int yspan);
BOOL
-ALF_WidgetLayoutMinSize(HWND parent, HWND widget, int *pWidth, int *pheight);
+ALF_Layout_ControlMinSize(HWND parent, HWND control, int *pWidth, int *pheight);
BOOL
-ALF_SetWidgetLayoutMinSize(HWND parent, HWND widget, int width, int height);
+ALF_Layout_SetControlMinSize(HWND parent, HWND control, int width, int height);
HWND
-ALF_WidgetAtLayoutPosition(HWND parent, int x, int y);
+ALF_Layout_ControlAtPosition(HWND parent, int x, int y);
int
-ALF_LayoutRowMinSize(HWND parent, int rowno);
+ALF_Layout_RowMinSize(HWND parent, int rowno);
BOOL
-ALF_LayoutSetRowMinSize(HWND parent, int rowno, int rowsize);
+ALF_Layout_SetRowMinSize(HWND parent, int rowno, int rowsize);
int
-ALF_LayoutColumnMinSize(HWND parent, int colno);
+ALF_Layout_ColumnMinSize(HWND parent, int colno);
BOOL
-ALF_LayoutSetColumnMinSize(HWND parent, int colno, int colsize);
+ALF_Layout_SetColumnMinSize(HWND parent, int colno, int colsize);
DWORD
-ALF_LayoutRowFlags(HWND parent, int rowno);
+ALF_Layout_RowFlags(HWND parent, int rowno);
BOOL
-ALF_LayoutSetRowFlags(HWND parent, int rowno, DWORD flags);
+ALF_Layout_SetRowFlags(HWND parent, int rowno, DWORD flags);
+
+static inline BOOL
+ALF_Layout_AddRowFlag(HWND parent, int rowno, DWORD addflag)
+{
+ return ALF_Layout_SetRowFlags(parent, rowno, ALF_Layout_RowFlags(parent, rowno) | addflag);
+}
+
+static inline BOOL
+ALF_Layout_RemoveRowFlag(HWND parent, int rowno, DWORD removeflag)
+{
+ return ALF_Layout_SetRowFlags(parent, rowno, ALF_Layout_RowFlags(parent, rowno) & ~removeflag);
+}
DWORD
-ALF_LayoutColumnFlags(HWND parent, int colno);
+ALF_Layout_ColumnFlags(HWND parent, int colno);
BOOL
-ALF_LayoutSetColumnFlags(HWND parent, int colno, DWORD flags);
+ALF_Layout_SetColumnFlags(HWND parent, int colno, DWORD flags);
-int
-ALF_LayoutRowExpandNumerator(HWND parent, int rowno);
+static inline BOOL
+ALF_Layout_AddColumnFlag(HWND parent, int colno, DWORD addflag)
+{
+ return ALF_Layout_SetColumnFlags(parent, colno, ALF_Layout_ColumnFlags(parent, colno) | addflag);
+}
-BOOL
-ALF_LayoutSetRowExpandNumerator(HWND parent, int rowno, int expand);
+static inline BOOL
+ALF_Layout_RemoveColumnFlag(HWND parent, int colno, DWORD removeflag)
+{
+ return ALF_Layout_SetColumnFlags(parent, colno, ALF_Layout_ColumnFlags(parent, colno) & ~removeflag);
+}
int
-ALF_LayoutColumnExpandNumerator(HWND parent, int colno);
+ALF_Layout_RowExpandNumerator(HWND parent, int rowno);
BOOL
-ALF_LayoutSetColumnExpandNumerator(HWND parent, int colno, int expand);
-
-void
-ALF_FillRect(HDC dc, const RECT *rc, ALFColor color);
+ALF_Layout_SetRowExpandNumerator(HWND parent, int rowno, int expand);
-void
-ALF_DestroyWidget(HWND win, WORD id);
-
-// wrapper for MessageBox() that handles modality for multiple toplevels with ALFApplication
int
-ALF_MessageBox(HWND hwnd, const TCHAR *text, const TCHAR *caption, UINT type);
+ALF_Layout_ColumnExpandNumerator(HWND parent, int colno);
+BOOL
+ALF_Layout_SetColumnExpandNumerator(HWND parent, int colno, int expand);
// application
@@ -434,7 +457,7 @@ ALF_Toplevel_EnsureBigEnough(HWND toplevel);
//
// - If no default button is specified, the default button will be the button
// with the id IDOK. A WM_COMMAND message on pressing the return key will be
-// sent even if no widget with the default id can be found.
+// sent even if no control with the default id can be found.
// - In NT 3.51, the default button must be a direct child of the window. Otherwise
// the default button effect will not work.
// - In Win32s on Win3.1, the default button should be a direct child of the window.
diff --git a/alf/alfbutton.cpp b/alf/alfbutton.cpp
index 00bd3fb..3c3e940 100644
--- a/alf/alfbutton.cpp
+++ b/alf/alfbutton.cpp
@@ -975,7 +975,7 @@ ALF_NtButton_Create(HWND win, WORD id, int x, int y, const TCHAR *text, DWORD ad
minheight = 0;
}
- ALF_AddWidget(win, x, y, hwndButton, minwidth, minheight, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_SENDDPICHANGE | ALF_LAYOUT_INHERITBGCOLOR | ALF_LAYOUT_SENDBGCHANGE);
+ ALF_AddControl(win, x, y, hwndButton, minwidth, minheight, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_SENDDPICHANGE | ALF_LAYOUT_INHERITBGCOLOR | ALF_LAYOUT_SENDBGCHANGE);
return hwndButton;
}
@@ -1378,7 +1378,7 @@ ALF_ClassicButton_Create(HWND win, WORD id, int x, int y, const TCHAR *text, DWO
priv->origWndProc = (WNDPROC)GetWindowLongPtr(hwndButton, GWLP_WNDPROC);
SetWindowLongPtr(hwndButton, GWLP_WNDPROC, (LONG_PTR)priv->thunk);
- ALF_AddWidget(win, x, y, hwndButton, minwidth, minheight, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT);
+ ALF_AddControl(win, x, y, hwndButton, minwidth, minheight, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT);
return hwndButton;
}
diff --git a/alf/alfcombobox.cpp b/alf/alfcombobox.cpp
index 1a7c1c2..5350a2a 100644
--- a/alf/alfcombobox.cpp
+++ b/alf/alfcombobox.cpp
@@ -319,7 +319,7 @@ ALF_InternalAddComboBox(HWND win, WORD id, int x, int y, DWORD style, const TCHA
if (defaultText)
SetWindowText(hwndCombo, defaultText);
- ALF_AddWidget(win, x, y, hwndCombo, 0, 0, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_SENDDPICHANGE);
+ ALF_AddControl(win, x, y, hwndCombo, 0, 0, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_SENDDPICHANGE);
return hwndCombo;
}
diff --git a/alf/alfedit.cpp b/alf/alfedit.cpp
index ae8e895..cf47d23 100644
--- a/alf/alfedit.cpp
+++ b/alf/alfedit.cpp
@@ -28,7 +28,7 @@ ALF_AddEdit(HWND win, WORD id, int x, int y, const TCHAR *text)
SetWindowPos(hwndEdit, NULL, 0, 0, 0, 0, SWP_NOZORDER | SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_FRAMECHANGED);
- ALF_AddWidget(win, x, y, hwndEdit, 12000, 0, ALF_LAYOUT_SIZE_EDIT | ALF_LAYOUT_INHERITFONT);
+ ALF_AddControl(win, x, y, hwndEdit, 12000, 0, ALF_LAYOUT_SIZE_EDIT | ALF_LAYOUT_INHERITFONT);
return hwndEdit;
}
diff --git a/alf/alfgroupbox.cpp b/alf/alfgroupbox.cpp
index 3aed7d1..0b60d81 100644
--- a/alf/alfgroupbox.cpp
+++ b/alf/alfgroupbox.cpp
@@ -14,11 +14,11 @@ typedef struct {
static void ALF_GroupBox_BeginCalcSizes(ALFLayout *layout, HWND hwnd);
-static void ALF_GroupBox_HandleContainerWidgetSize(ALFLayout *layout, HWND groupbox, HWND child, SIZE *s);
+static void ALF_GroupBox_HandleContainerControlSize(ALFLayout *layout, HWND groupbox, HWND child, SIZE *s);
static void ALF_GroupBox_EndCalcSizes(ALFLayout *layout, HWND hwnd, SIZE *containerMinSize);
-static void ALF_GroupBox_PreContainerWidgetApplyPos(ALFLayout *layout, HWND groupbox, HWND child, RECT *r);
+static void ALF_GroupBox_PreContainerControlApplyPos(ALFLayout *layout, HWND groupbox, HWND child, RECT *r);
static void ALF_GroupBox_HandleThemeChange(ALFGroupBoxPriv *priv, HWND hwnd);
@@ -27,9 +27,9 @@ ALF_GroupBox_IntializePriv(ALFGroupBoxPriv *priv, HWND window, const TCHAR *text
{
ALF_Layout_Init(&priv->layout);
priv->layout.beginCalcSizes = ALF_GroupBox_BeginCalcSizes;
- priv->layout.handleContainerWidgetSize = ALF_GroupBox_HandleContainerWidgetSize;
+ priv->layout.handleContainerControlSize = ALF_GroupBox_HandleContainerControlSize;
priv->layout.endCalcSizes = ALF_GroupBox_EndCalcSizes;
- priv->layout.preApplyLayoutToContainerWidget = ALF_GroupBox_PreContainerWidgetApplyPos;
+ priv->layout.preApplyLayoutToContainerControl = ALF_GroupBox_PreContainerControlApplyPos;
priv->label = ALF_AddLabel(window, (WORD)-1, -1, -1, text);
ALF_Label_SetStyle(priv->label, ALF_LABEL_ALIGN_LEFT | ALF_LABEL_ALIGN_TOP);
@@ -155,7 +155,7 @@ ALF_GroupBox_BeginCalcSizes(ALFLayout *layout, HWND hwnd)
}
static void
-ALF_GroupBox_HandleContainerWidgetSize(ALFLayout *layout, HWND groupbox, HWND child, SIZE *s)
+ALF_GroupBox_HandleContainerControlSize(ALFLayout *layout, HWND groupbox, HWND child, SIZE *s)
{
ALFGroupBoxPriv *priv = (ALFGroupBoxPriv *)layout;
(void)groupbox;
@@ -180,7 +180,7 @@ static void ALF_GroupBox_EndCalcSizes(ALFLayout *layout, HWND hwnd, SIZE *contai
containerMinSize->cy = priv->layout.containerMargins.top + priv->layout.containerMargins.bottom;
}
-static void ALF_GroupBox_PreContainerWidgetApplyPos(ALFLayout *layout, HWND groupbox, HWND child, RECT *r)
+static void ALF_GroupBox_PreContainerControlApplyPos(ALFLayout *layout, HWND groupbox, HWND child, RECT *r)
{
ALFGroupBoxPriv *priv = (ALFGroupBoxPriv *)layout;
@@ -288,23 +288,23 @@ ALF_GroupBox_WindowProc(HWND window, UINT msg, WPARAM wparam, LPARAM lparam)
RECT c;
GetClientRect(window, &c);
- if (c.right > priv->layout.allocatedWidgetRect.right + priv->layout.containerMargins.right) {
+ if (c.right > priv->layout.allocatedControlRect.right + priv->layout.containerMargins.right) {
// enlarged to the right -> invalidate place occupied by old border
- RECT i = { priv->layout.allocatedWidgetRect.right,
+ RECT i = { priv->layout.allocatedControlRect.right,
0,
c.right,
c.bottom };
InvalidateRect(window, &i, TRUE);
}
- if (c.bottom > priv->layout.allocatedWidgetRect.bottom + priv->layout.containerMargins.bottom) {
+ if (c.bottom > priv->layout.allocatedControlRect.bottom + priv->layout.containerMargins.bottom) {
// enlarged to the bottom -> invalidate place occupied by old border
RECT i = { 0,
- priv->layout.allocatedWidgetRect.bottom,
+ priv->layout.allocatedControlRect.bottom,
c.right,
c.bottom };
InvalidateRect(window, &i, TRUE);
}
- if (c.right < priv->layout.allocatedWidgetRect.right + priv->layout.containerMargins.right) {
+ if (c.right < priv->layout.allocatedControlRect.right + priv->layout.containerMargins.right) {
// shrunk horizontally -> invalidate place now occupied by new border
RECT i = { c.right - priv->layout.containerMargins.right,
0,
@@ -312,7 +312,7 @@ ALF_GroupBox_WindowProc(HWND window, UINT msg, WPARAM wparam, LPARAM lparam)
c.bottom };
InvalidateRect(window, &i, TRUE);
}
- if (c.bottom < priv->layout.allocatedWidgetRect.bottom + priv->layout.containerMargins.bottom) {
+ if (c.bottom < priv->layout.allocatedControlRect.bottom + priv->layout.containerMargins.bottom) {
// shrunk vertically -> invalidate place now ocuupied by new border
RECT i = { 0,
c.bottom - priv->layout.containerMargins.bottom,
@@ -356,7 +356,7 @@ ALF_AddGroupBox(HWND parent, WORD id, int x, int y, const TCHAR *text)
ALF_GroupBox_WindowProc,
NULL);
- ALF_AddWidget(parent, x, y, hwndPanel, 0, 0, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_INHERITBGCOLOR | ALF_LAYOUT_SENDBGCHANGE | ALF_LAYOUT_SENDDPICHANGE);
+ ALF_AddControl(parent, x, y, hwndPanel, 0, 0, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_INHERITBGCOLOR | ALF_LAYOUT_SENDBGCHANGE | ALF_LAYOUT_SENDDPICHANGE);
return hwndPanel;
}
diff --git a/alf/alflabel.cpp b/alf/alflabel.cpp
index 05bd35e..b3a87c4 100644
--- a/alf/alflabel.cpp
+++ b/alf/alflabel.cpp
@@ -307,7 +307,7 @@ ALF_AddLabel(HWND win, WORD id, int x, int y, const TCHAR *text)
priv->dpi = 96;
SetWindowLongPtr(hwndLabel, 0, (LONG_PTR)priv);
- ALF_AddWidget(win, x, y, hwndLabel, 0, 0, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_INHERITBGCOLOR | ALF_LAYOUT_SENDBGCHANGE | ALF_LAYOUT_SENDDPICHANGE);
+ ALF_AddControl(win, x, y, hwndLabel, 0, 0, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_INHERITBGCOLOR | ALF_LAYOUT_SENDBGCHANGE | ALF_LAYOUT_SENDDPICHANGE);
return hwndLabel;
}
diff --git a/alf/alflayout.cpp b/alf/alflayout.cpp
index a390890..6f35345 100644
--- a/alf/alflayout.cpp
+++ b/alf/alflayout.cpp
@@ -10,58 +10,58 @@ static void
ALF_Layout_EnsureColumnExists(ALFLayout *layout, int colno);
static BOOL
-ALF_Layout_GetWidgetPos(ALFLayout *layout, HWND window, HWND needle, POINT *p);
+ALF_Layout_GetControlPosPriv(ALFLayout *layout, HWND window, HWND needle, POINT *p);
static BOOL
-ALF_Layout_SetWidgetPos(ALFLayout *layout, HWND window, HWND needle, POINT *p);
+ALF_Layout_SetControlPosPriv(ALFLayout *layout, HWND window, HWND needle, POINT *p);
static BOOL
-ALF_Layout_GetWidgetSize(ALFLayout *layout, HWND window, HWND needle, SIZE *s);
+ALF_Layout_GetControlSizePriv(ALFLayout *layout, HWND window, HWND needle, SIZE *s);
static BOOL
-ALF_Layout_SetWidgetSize(ALFLayout *layout, HWND window, HWND needle, SIZE *s);
+ALF_Layout_SetControlSizePriv(ALFLayout *layout, HWND window, HWND needle, SIZE *s);
static DWORD
-ALF_Layout_GetWidgetFlags(ALFLayout *layout, HWND window, HWND needle);
+ALF_Layout_GetControlFlagsPriv(ALFLayout *layout, HWND window, HWND needle);
static BOOL
-ALF_Layout_SetWidgetFlags(ALFLayout *layout, HWND window, HWND needle, DWORD flags);
+ALF_Layout_SetControlFlagsPriv(ALFLayout *layout, HWND window, HWND needle, DWORD flags);
static int
-ALF_Layout_GetColumnSize(ALFLayout *layout, HWND window, int colno);
+ALF_Layout_GetColumnSizePriv(ALFLayout *layout, HWND window, int colno);
static BOOL
-ALF_Layout_SetColumnSize(ALFLayout *layout, HWND window, int colno, int size);
+ALF_Layout_SetColumnSizePriv(ALFLayout *layout, HWND window, int colno, int size);
static int
-ALF_Layout_GetColumnExpand(ALFLayout *layout, HWND window, int colno);
+ALF_Layout_GetColumnExpandPriv(ALFLayout *layout, HWND window, int colno);
static BOOL
-ALF_Layout_SetColumnExpand(ALFLayout *layout, HWND window, int colno, int expand);
+ALF_Layout_SetColumnExpandPriv(ALFLayout *layout, HWND window, int colno, int expand);
static DWORD
-ALF_Layout_GetColumnFlags(ALFLayout *layout, HWND window, int colno);
+ALF_Layout_GetColumnFlagsPriv(ALFLayout *layout, HWND window, int colno);
static BOOL
-ALF_Layout_SetColumnFlags(ALFLayout *layout, HWND window, int colno, DWORD flags);
+ALF_Layout_SetColumnFlagsPriv(ALFLayout *layout, HWND window, int colno, DWORD flags);
static int
-ALF_Layout_GetRowSize(ALFLayout *layout, HWND window, int rowno);
+ALF_Layout_GetRowSizePriv(ALFLayout *layout, HWND window, int rowno);
static BOOL
-ALF_Layout_SetRowSize(ALFLayout *layout, HWND window, int rowno, int size);
+ALF_Layout_SetRowSizePriv(ALFLayout *layout, HWND window, int rowno, int size);
static int
-ALF_Layout_GetRowExpand(ALFLayout *layout, HWND window, int rowno);
+ALF_Layout_GetRowExpandPriv(ALFLayout *layout, HWND window, int rowno);
static BOOL
-ALF_Layout_SetRowExpand(ALFLayout *layout, HWND window, int rowno, int expand);
+ALF_Layout_SetRowExpandPriv(ALFLayout *layout, HWND window, int rowno, int expand);
static DWORD
-ALF_Layout_GetRowFlags(ALFLayout *layout, HWND window, int rowno);
+ALF_Layout_GetRowFlagsPriv(ALFLayout *layout, HWND window, int rowno);
static BOOL
-ALF_Layout_SetRowFlags(ALFLayout *layout, HWND window, int rowno, DWORD flags);
+ALF_Layout_SetRowFlagsPriv(ALFLayout *layout, HWND window, int rowno, DWORD flags);
static void
ALF_Layout_HandleBackgroundChange(ALFLayout *layout, HWND window);
@@ -70,7 +70,7 @@ void
ALF_Layout_Init(ALFLayout *layout)
{
ZeroMemory(layout, sizeof(*layout));
- ALF_ListInit(&layout->widgets);
+ ALF_ListInit(&layout->controls);
layout->nRows = 1;
layout->rows = ALF_New(ALFLayoutRowOrColumn, (SIZE_T)layout->nRows);
@@ -83,10 +83,10 @@ ALF_Layout_Init(ALFLayout *layout)
void
ALF_Layout_Clear(ALFLayout *layout)
{
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, w) {
ALF_Free(w);
}
- ALF_ListInit(&layout->widgets);
+ ALF_ListInit(&layout->controls);
ALF_Free(layout->columns);
ALF_Free(layout->rows);
layout->columns = NULL;
@@ -96,12 +96,12 @@ ALF_Layout_Clear(ALFLayout *layout)
}
static void
-ALF_Layout_ForwardFontToWidget(ALFLayout *layout, HWND window, ALFWidgetPriv *widget, HFONT font, LPARAM redraw)
+ALF_Layout_ForwardFontToControl(ALFLayout *layout, HWND window, ALFControlPriv *control, HFONT font, LPARAM redraw)
{
- if (widget->flags & ALF_LAYOUT_INHERITFONT) {
- SendMessage(widget->hwnd, WM_SETFONT, (WPARAM)font, redraw);
+ if (control->flags & ALF_LAYOUT_INHERITFONT) {
+ SendMessage(control->hwnd, WM_SETFONT, (WPARAM)font, redraw);
- switch (widget->flags & ALF_LAYOUT_SIZETYPE_MASK) {
+ switch (control->flags & ALF_LAYOUT_SIZETYPE_MASK) {
case ALF_LAYOUT_SIZE_EDIT:
case ALF_LAYOUT_SIZE_CHECKBOX:
ALF_Layout_Invalidate(layout, window);
@@ -118,8 +118,8 @@ ALF_Layout_ForwardFont(ALFLayout *layout, HWND window, HFONT font, LPARAM redraw
{
(void)window;
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, i) {
- ALF_Layout_ForwardFontToWidget(layout, window, i, font, redraw);
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, i) {
+ ALF_Layout_ForwardFontToControl(layout, window, i, font, redraw);
}
}
@@ -128,7 +128,7 @@ ALF_Layout_ForwardBgColor(ALFLayout *layout, HWND window, WPARAM wparam, LPARAM
{
(void)window;
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, i) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, i) {
if (i->flags & ALF_LAYOUT_INHERITBGCOLOR) {
SendMessage(i->hwnd, ALF_WM_SETBGCOLOR, wparam, lparam);
}
@@ -138,7 +138,7 @@ ALF_Layout_ForwardBgColor(ALFLayout *layout, HWND window, WPARAM wparam, LPARAM
static void
ALF_Layout_ForwardDpiChange(ALFLayout *layout, HWND window, WPARAM wparam, LPARAM lparam)
{
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, i) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, i) {
if (i->flags & ALF_LAYOUT_SENDDPICHANGE) {
SendMessage(i->hwnd, ALF_WM_DPICHANGE, wparam, lparam);
}
@@ -154,7 +154,7 @@ ALF_Layout_HandleBackgroundChange(ALFLayout *layout, HWND window)
{
(void)window;
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, i) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, i) {
if (i->flags & ALF_LAYOUT_TRANSPARENTBG) {
InvalidateRect(i->hwnd, NULL, TRUE);
}
@@ -297,7 +297,7 @@ ALF_Layout_CalcButtonSize(HWND hwndWindow, ALFLayout *layout, HWND hwndButton, S
}
static void
-ALF_Layout_CalcMinWidgetSize(ALFLayout *layout, ALFWidgetPriv *c, HWND window)
+ALF_Layout_CalcMinControlSize(ALFLayout *layout, ALFControlPriv *c, HWND window)
{
if (c->flags & ALF_LAYOUT_SIZE_PX) {
c->calculatedSize.cx = c->width;
@@ -366,12 +366,12 @@ ALF_Layout_CalcSizes(ALFLayout* layout, HWND window)
layout->biggestRowNo = i;
}
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, c) {
- ALF_Layout_CalcMinWidgetSize(layout, c, window);
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, c) {
+ ALF_Layout_CalcMinControlSize(layout, c, window);
if (c->x < 0 || c->y < 0) {
- if (layout->handleContainerWidgetSize)
- layout->handleContainerWidgetSize(layout, window, c->hwnd, &c->calculatedSize);
+ if (layout->handleContainerControlSize)
+ layout->handleContainerControlSize(layout, window, c->hwnd, &c->calculatedSize);
} else {
if (c->xspan <= 1) {
ALF_Layout_EnsureColumnExists(layout, c->x);
@@ -390,7 +390,7 @@ ALF_Layout_CalcSizes(ALFLayout* layout, HWND window)
}
// second pass for spanning cells
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, c) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, c) {
if (c->xspan > 1) {
ALF_Layout_EnsureColumnExists(layout, c->x + c->xspan - 1);
@@ -529,26 +529,26 @@ ALF_Layout_Apply(ALFLayout* layout, HWND window)
if (layout->layoutValididityFlags & ALF_LAYOUT_NEED_RECALC)
ALF_Layout_CalcSizes(layout, window);
- GetClientRect(window, &layout->allocatedWidgetRect);
- layout->allocatedWidgetRect.left += layout->containerMargins.left;
- layout->allocatedWidgetRect.right -= layout->containerMargins.right;
- layout->allocatedWidgetRect.top += layout->containerMargins.top;
- layout->allocatedWidgetRect.bottom -= layout->containerMargins.bottom;
+ GetClientRect(window, &layout->allocatedControlRect);
+ layout->allocatedControlRect.left += layout->containerMargins.left;
+ layout->allocatedControlRect.right -= layout->containerMargins.right;
+ layout->allocatedControlRect.top += layout->containerMargins.top;
+ layout->allocatedControlRect.bottom -= layout->containerMargins.bottom;
// FIXME! can that happen?
- if (layout->allocatedWidgetRect.right < layout->allocatedWidgetRect.left)
- layout->allocatedWidgetRect.right = layout->allocatedWidgetRect.left;
- if (layout->allocatedWidgetRect.bottom < layout->allocatedWidgetRect.top)
- layout->allocatedWidgetRect.bottom = layout->allocatedWidgetRect.top;
+ if (layout->allocatedControlRect.right < layout->allocatedControlRect.left)
+ layout->allocatedControlRect.right = layout->allocatedControlRect.left;
+ if (layout->allocatedControlRect.bottom < layout->allocatedControlRect.top)
+ layout->allocatedControlRect.bottom = layout->allocatedControlRect.top;
// distribute extra space
int extraWidth = 0;
int extraHeight = 0;
- if (layout->allocatedWidgetRect.right - layout->allocatedWidgetRect.left > layout->totalMinWidth)
- extraWidth = layout->allocatedWidgetRect.right - layout->allocatedWidgetRect.left - layout->totalMinWidth;
- if (layout->allocatedWidgetRect.bottom - layout->allocatedWidgetRect.top > layout->totalMinHeight)
- extraHeight = layout->allocatedWidgetRect.bottom - layout->allocatedWidgetRect.top - layout->totalMinHeight;
+ if (layout->allocatedControlRect.right - layout->allocatedControlRect.left > layout->totalMinWidth)
+ extraWidth = layout->allocatedControlRect.right - layout->allocatedControlRect.left - layout->totalMinWidth;
+ if (layout->allocatedControlRect.bottom - layout->allocatedControlRect.top > layout->totalMinHeight)
+ extraHeight = layout->allocatedControlRect.bottom - layout->allocatedControlRect.top - layout->totalMinHeight;
int extraWidthLeft = extraWidth;
for (int i = 0; i < layout->nColumns; ++i) {
@@ -581,21 +581,21 @@ ALF_Layout_Apply(ALFLayout* layout, HWND window)
layout->rows[layout->biggestRowNo].calculatedMinWidth + extraHeightLeft;
// set row/column positions
- int x = layout->allocatedWidgetRect.left;
+ int x = layout->allocatedControlRect.left;
for (int i = 0; i < layout->nColumns; ++i) {
layout->columns[i].allocatedPosition = x;
x += layout->columns[i].allocatedWidth;
}
- int y = layout->allocatedWidgetRect.top;
+ int y = layout->allocatedControlRect.top;
for (int i = 0; i < layout->nRows; ++i) {
layout->rows[i].allocatedPosition = y;
y += layout->rows[i].allocatedWidth;
}
- // now apply positions to widgets
+ // now apply positions to controls
HDWP hdwp = BeginDeferWindowPos(layout->nColumns * layout->nRows);
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, c) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, c) {
int col = c->x;
int row = c->y;
int colspan = c->xspan;
@@ -609,8 +609,8 @@ ALF_Layout_Apply(ALFLayout* layout, HWND window)
RECT r = { 0,0,0,0 };
if (row < 0 || col < 0) {
- if (layout->preApplyLayoutToContainerWidget)
- layout->preApplyLayoutToContainerWidget(layout, window, c->hwnd, &r);
+ if (layout->preApplyLayoutToContainerControl)
+ layout->preApplyLayoutToContainerControl(layout, window, c->hwnd, &r);
} else {
r.left = layout->columns[col].allocatedPosition;
r.right = layout->columns[col+colspan-1].allocatedPosition + layout->columns[col+colspan-1].allocatedWidth;
@@ -627,7 +627,7 @@ ALF_Layout_Apply(ALFLayout* layout, HWND window)
if (!ALF_Compat_IsMinWindowsVersion(4, 0))
flags |= SWP_NOCOPYBITS;
- // transparent background: invalidate if widget moved
+ // transparent background: invalidate if control moved
if (layout->bgcolor == ALF_COLOR_TRANSPARENT) {
RECT oldR;
GetWindowRect(c->hwnd, &oldR);
@@ -656,9 +656,9 @@ ALF_Layout_Apply(ALFLayout* layout, HWND window)
}
void
-ALF_Layout_AddWidget(ALFLayout* layout, HWND window, const ALFAddWidgetParams* params)
+ALF_Layout_AddControl(ALFLayout* layout, HWND window, const ALFAddControlParams* params)
{
- ALFWidgetPriv *w = ALF_New(ALFWidgetPriv, 1);
+ ALFControlPriv *w = ALF_New(ALFControlPriv, 1);
w->hwnd = params->hwnd;
w->x = params->x;
w->y = params->y;
@@ -670,7 +670,7 @@ ALF_Layout_AddWidget(ALFLayout* layout, HWND window, const ALFAddWidgetParams* p
SetParent(w->hwnd, window);
if (w->flags & ALF_LAYOUT_INHERITFONT) {
- ALF_Layout_ForwardFontToWidget(layout, window, w, layout->font, 0);
+ ALF_Layout_ForwardFontToControl(layout, window, w, layout->font, 0);
}
if (w->flags & ALF_LAYOUT_INHERITBGCOLOR) {
SendMessage(w->hwnd, ALF_WM_SETBGCOLOR, 0, (LPARAM)layout->bgcolor);
@@ -679,15 +679,15 @@ ALF_Layout_AddWidget(ALFLayout* layout, HWND window, const ALFAddWidgetParams* p
SendMessage(w->hwnd, ALF_WM_DPICHANGE, 0, (LPARAM)layout->dpi);
}
- ALF_ListInsert(layout->widgets.prev, &w->list);
+ ALF_ListInsert(layout->controls.prev, &w->list);
ALF_Layout_Invalidate(layout, window);
}
HWND
-ALF_Layout_WidgetAtPos(ALFLayout* layout, int x, int y)
+ALF_Layout_ControlAtPosPriv(ALFLayout* layout, int x, int y)
{
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, w) {
if (w->x == x && w->y == y) {
return w->hwnd;
}
@@ -743,11 +743,11 @@ ALF_Layout_GetMinSize(ALFLayout *layout, HWND window, SIZE *size)
}
BOOL
-ALF_Layout_GetWidgetPos(ALFLayout *layout, HWND window, HWND needle, POINT *p)
+ALF_Layout_GetControlPosPriv(ALFLayout *layout, HWND window, HWND needle, POINT *p)
{
(void)window;
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, w) {
if (w->hwnd == needle) {
p->x = w->x;
p->y = w->y;
@@ -759,9 +759,9 @@ ALF_Layout_GetWidgetPos(ALFLayout *layout, HWND window, HWND needle, POINT *p)
}
static BOOL
-ALF_Layout_SetWidgetPos(ALFLayout *layout, HWND window, HWND needle, POINT *p)
+ALF_Layout_SetControlPosPriv(ALFLayout *layout, HWND window, HWND needle, POINT *p)
{
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, w) {
if (w->hwnd == needle) {
w->x = p->x;
w->y = p->y;
@@ -776,11 +776,11 @@ ALF_Layout_SetWidgetPos(ALFLayout *layout, HWND window, HWND needle, POINT *p)
}
BOOL
-ALF_Layout_GetWidgetSpan(ALFLayout *layout, HWND window, HWND needle, POINT *p)
+ALF_Layout_GetControlSpanPriv(ALFLayout *layout, HWND window, HWND needle, POINT *p)
{
(void)window;
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, w) {
if (w->hwnd == needle) {
p->x = w->xspan;
p->y = w->yspan;
@@ -792,9 +792,9 @@ ALF_Layout_GetWidgetSpan(ALFLayout *layout, HWND window, HWND needle, POINT *p)
}
static BOOL
-ALF_Layout_SetWidgetSpan(ALFLayout *layout, HWND window, HWND needle, POINT *p)
+ALF_Layout_SetControlSpanPriv(ALFLayout *layout, HWND window, HWND needle, POINT *p)
{
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, w) {
if (w->hwnd == needle) {
w->xspan = p->x;
w->yspan = p->y;
@@ -809,11 +809,11 @@ ALF_Layout_SetWidgetSpan(ALFLayout *layout, HWND window, HWND needle, POINT *p)
}
static BOOL
-ALF_Layout_GetWidgetSize(ALFLayout *layout, HWND window, HWND needle, SIZE *s)
+ALF_Layout_GetControlSizePriv(ALFLayout *layout, HWND window, HWND needle, SIZE *s)
{
(void)window;
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, w) {
if (w->hwnd == needle) {
s->cx = w->width;
s->cy = w->height;
@@ -825,9 +825,9 @@ ALF_Layout_GetWidgetSize(ALFLayout *layout, HWND window, HWND needle, SIZE *s)
}
static BOOL
-ALF_Layout_SetWidgetSize(ALFLayout *layout, HWND window, HWND needle, SIZE *s)
+ALF_Layout_SetControlSizePriv(ALFLayout *layout, HWND window, HWND needle, SIZE *s)
{
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, w) {
if (w->hwnd == needle) {
w->width = s->cx;
w->height = s->cy;
@@ -842,11 +842,11 @@ ALF_Layout_SetWidgetSize(ALFLayout *layout, HWND window, HWND needle, SIZE *s)
}
static DWORD
-ALF_Layout_GetWidgetFlags(ALFLayout *layout, HWND window, HWND needle)
+ALF_Layout_GetControlFlagsPriv(ALFLayout *layout, HWND window, HWND needle)
{
(void)window;
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, w) {
if (w->hwnd == needle) {
return w->flags;
}
@@ -856,14 +856,14 @@ ALF_Layout_GetWidgetFlags(ALFLayout *layout, HWND window, HWND needle)
}
static BOOL
-ALF_Layout_SetWidgetFlags(ALFLayout *layout, HWND window, HWND needle, DWORD flags)
+ALF_Layout_SetControlFlagsPriv(ALFLayout *layout, HWND window, HWND needle, DWORD flags)
{
- ALF_FOR_LIST(ALFWidgetPriv, list, &layout->widgets, w) {
+ ALF_FOR_LIST(ALFControlPriv, list, &layout->controls, w) {
if (w->hwnd == needle) {
w->flags = flags;
if (flags & ALF_LAYOUT_INHERITFONT)
- ALF_Layout_ForwardFontToWidget(layout, window, w, layout->font, 0);
+ ALF_Layout_ForwardFontToControl(layout, window, w, layout->font, 0);
if (flags & ALF_LAYOUT_INHERITBGCOLOR)
SendMessage(w->hwnd, ALF_WM_SETBGCOLOR, 0, (LPARAM)layout->bgcolor);
if (flags & ALF_LAYOUT_SENDDPICHANGE)
@@ -879,7 +879,7 @@ ALF_Layout_SetWidgetFlags(ALFLayout *layout, HWND window, HWND needle, DWORD fla
}
int
-ALF_Layout_GetColumnSize(ALFLayout *layout, HWND window, int colno)
+ALF_Layout_GetColumnSizePriv(ALFLayout *layout, HWND window, int colno)
{
(void)window;
@@ -890,7 +890,7 @@ ALF_Layout_GetColumnSize(ALFLayout *layout, HWND window, int colno)
}
BOOL
-ALF_Layout_SetColumnSize(ALFLayout *layout, HWND window, int colno, int size)
+ALF_Layout_SetColumnSizePriv(ALFLayout *layout, HWND window, int colno, int size)
{
ALF_Layout_EnsureColumnExists(layout, colno);
@@ -902,7 +902,7 @@ ALF_Layout_SetColumnSize(ALFLayout *layout, HWND window, int colno, int size)
}
int
-ALF_Layout_GetColumnExpand(ALFLayout *layout, HWND window, int colno)
+ALF_Layout_GetColumnExpandPriv(ALFLayout *layout, HWND window, int colno)
{
(void)window;
@@ -913,7 +913,7 @@ ALF_Layout_GetColumnExpand(ALFLayout *layout, HWND window, int colno)
}
static BOOL
-ALF_Layout_SetColumnExpand(ALFLayout *layout, HWND window, int colno, int expand)
+ALF_Layout_SetColumnExpandPriv(ALFLayout *layout, HWND window, int colno, int expand)
{
ALF_Layout_EnsureColumnExists(layout, colno);
@@ -925,7 +925,7 @@ ALF_Layout_SetColumnExpand(ALFLayout *layout, HWND window, int colno, int expand
}
static DWORD
-ALF_Layout_GetColumnFlags(ALFLayout *layout, HWND window, int colno)
+ALF_Layout_GetColumnFlagsPriv(ALFLayout *layout, HWND window, int colno)
{
(void)window;
@@ -936,7 +936,7 @@ ALF_Layout_GetColumnFlags(ALFLayout *layout, HWND window, int colno)
}
static BOOL
-ALF_Layout_SetColumnFlags(ALFLayout *layout, HWND window, int colno, DWORD flags)
+ALF_Layout_SetColumnFlagsPriv(ALFLayout *layout, HWND window, int colno, DWORD flags)
{
ALF_Layout_EnsureColumnExists(layout, colno);
@@ -948,7 +948,7 @@ ALF_Layout_SetColumnFlags(ALFLayout *layout, HWND window, int colno, DWORD flags
}
static int
-ALF_Layout_GetRowSize(ALFLayout *layout, HWND window, int rowno)
+ALF_Layout_GetRowSizePriv(ALFLayout *layout, HWND window, int rowno)
{
(void)window;
@@ -959,7 +959,7 @@ ALF_Layout_GetRowSize(ALFLayout *layout, HWND window, int rowno)
}
static BOOL
-ALF_Layout_SetRowSize(ALFLayout *layout, HWND window, int rowno, int size)
+ALF_Layout_SetRowSizePriv(ALFLayout *layout, HWND window, int rowno, int size)
{
ALF_Layout_EnsureRowExists(layout, rowno);
@@ -971,7 +971,7 @@ ALF_Layout_SetRowSize(ALFLayout *layout, HWND window, int rowno, int size)
}
static int
-ALF_Layout_GetRowExpand(ALFLayout *layout, HWND window, int rowno)
+ALF_Layout_GetRowExpandPriv(ALFLayout *layout, HWND window, int rowno)
{
(void)window;
@@ -982,7 +982,7 @@ ALF_Layout_GetRowExpand(ALFLayout *layout, HWND window, int rowno)
}
static BOOL
-ALF_Layout_SetRowExpand(ALFLayout *layout, HWND window, int rowno, int expand)
+ALF_Layout_SetRowExpandPriv(ALFLayout *layout, HWND window, int rowno, int expand)
{
ALF_Layout_EnsureRowExists(layout, rowno);
@@ -994,7 +994,7 @@ ALF_Layout_SetRowExpand(ALFLayout *layout, HWND window, int rowno, int expand)
}
static DWORD
-ALF_Layout_GetRowFlags(ALFLayout *layout, HWND window, int rowno)
+ALF_Layout_GetRowFlagsPriv(ALFLayout *layout, HWND window, int rowno)
{
(void)window;
@@ -1005,7 +1005,7 @@ ALF_Layout_GetRowFlags(ALFLayout *layout, HWND window, int rowno)
}
static BOOL
-ALF_Layout_SetRowFlags(ALFLayout *layout, HWND window, int rowno, DWORD flags)
+ALF_Layout_SetRowFlagsPriv(ALFLayout *layout, HWND window, int rowno, DWORD flags)
{
ALF_Layout_EnsureRowExists(layout, rowno);
@@ -1031,18 +1031,13 @@ ALF_Layout_HandleMessage(ALFLayout *layout, HWND hwnd, UINT msg, WPARAM wparam,
return TRUE;
}
- if (msg == ALF_WM_APPLYLAYOUT) {
- ALF_Layout_Apply(layout, hwnd);
+ if (msg == ALF_WM_ADDCONTROL) {
+ ALF_Layout_AddControl(layout, hwnd, (ALFAddControlParams *)lparam);
return TRUE;
}
- if (msg == ALF_WM_ADDWIDGET) {
- ALF_Layout_AddWidget(layout, hwnd, (ALFAddWidgetParams *)lparam);
- return TRUE;
- }
-
- if (msg == ALF_WM_GETWIDGETATPOS) {
- *pRet = (LRESULT)ALF_Layout_WidgetAtPos(layout, ((int*)lparam)[0], ((int*)lparam)[1]);
+ if (msg == ALF_WM_LYT_GETCTLATPOS) {
+ *pRet = (LRESULT)ALF_Layout_ControlAtPosPriv(layout, ((int*)lparam)[0], ((int*)lparam)[1]);
return TRUE;
}
@@ -1112,105 +1107,274 @@ ALF_Layout_HandleMessage(ALFLayout *layout, HWND hwnd, UINT msg, WPARAM wparam,
return TRUE;
}
- if (msg == ALF_WM_LYT_GETWIDGETPOS) {
- *pRet = (LRESULT)ALF_Layout_GetWidgetPos(layout, hwnd, (HWND)wparam, (POINT *)lparam);
+ if (msg == ALF_WM_LYT_GETCTLPOS) {
+ *pRet = (LRESULT)ALF_Layout_GetControlPosPriv(layout, hwnd, (HWND)wparam, (POINT *)lparam);
return TRUE;
}
- if (msg == ALF_WM_LYT_SETWIDGETPOS) {
- *pRet = (LRESULT)ALF_Layout_SetWidgetPos(layout, hwnd, (HWND)wparam, (POINT *)lparam);
+ if (msg == ALF_WM_LYT_SETCTLPOS) {
+ *pRet = (LRESULT)ALF_Layout_SetControlPosPriv(layout, hwnd, (HWND)wparam, (POINT *)lparam);
return TRUE;
}
- if (msg == ALF_WM_LYT_GETWDGTSPAN) {
- *pRet = (LRESULT)ALF_Layout_GetWidgetSpan(layout, hwnd, (HWND)wparam, (POINT *)lparam);
+ if (msg == ALF_WM_LYT_GETCTLSPAN) {
+ *pRet = (LRESULT)ALF_Layout_GetControlSpanPriv(layout, hwnd, (HWND)wparam, (POINT *)lparam);
return TRUE;
}
- if (msg == ALF_WM_LYT_SETWDGTSPAN) {
- *pRet = (LRESULT)ALF_Layout_SetWidgetSpan(layout, hwnd, (HWND)wparam, (POINT *)lparam);
+ if (msg == ALF_WM_LYT_SETCTLSPAN) {
+ *pRet = (LRESULT)ALF_Layout_SetControlSpanPriv(layout, hwnd, (HWND)wparam, (POINT *)lparam);
return TRUE;
}
- if (msg == ALF_WM_LYT_GETWIDGTSIZE) {
- *pRet = (LRESULT)ALF_Layout_GetWidgetSize(layout, hwnd, (HWND)wparam, (SIZE *)lparam);
+ if (msg == ALF_WM_LYT_GETCTLSIZE) {
+ *pRet = (LRESULT)ALF_Layout_GetControlSizePriv(layout, hwnd, (HWND)wparam, (SIZE *)lparam);
return TRUE;
}
- if (msg == ALF_WM_LYT_SETWIDGTSIZE) {
- *pRet = (LRESULT)ALF_Layout_SetWidgetSize(layout, hwnd, (HWND)wparam, (SIZE *)lparam);
+ if (msg == ALF_WM_LYT_SETCTLSIZE) {
+ *pRet = (LRESULT)ALF_Layout_SetControlSizePriv(layout, hwnd, (HWND)wparam, (SIZE *)lparam);
return TRUE;
}
- if (msg == ALF_WM_LYT_GETWDGTFLAGS) {
- *pRet = (LRESULT)ALF_Layout_GetWidgetFlags(layout, hwnd, (HWND)wparam);
+ if (msg == ALF_WM_LYT_GETCTLFLAGS) {
+ *pRet = (LRESULT)ALF_Layout_GetControlFlagsPriv(layout, hwnd, (HWND)wparam);
return TRUE;
}
- if (msg == ALF_WM_LYT_SETWDGTFLAGS) {
- *pRet = (LRESULT)ALF_Layout_SetWidgetFlags(layout, hwnd, (HWND)wparam, (DWORD)lparam);
+ if (msg == ALF_WM_LYT_SETCTLFLAGS) {
+ *pRet = (LRESULT)ALF_Layout_SetControlFlagsPriv(layout, hwnd, (HWND)wparam, (DWORD)lparam);
return TRUE;
}
if (msg == ALF_WM_LYT_GETCOLSIZE) {
- *pRet = (LRESULT)ALF_Layout_GetColumnSize(layout, hwnd, (int)wparam);
+ *pRet = (LRESULT)ALF_Layout_GetColumnSizePriv(layout, hwnd, (int)wparam);
return TRUE;
}
if (msg == ALF_WM_LYT_SETCOLSIZE) {
- *pRet = (LRESULT)ALF_Layout_SetColumnSize(layout, hwnd, (int)wparam, (int)lparam);
+ *pRet = (LRESULT)ALF_Layout_SetColumnSizePriv(layout, hwnd, (int)wparam, (int)lparam);
return TRUE;
}
if (msg == ALF_WM_LYT_GETCOLEXPAND) {
- *pRet = (LRESULT)ALF_Layout_GetColumnExpand(layout, hwnd, (int)wparam);
+ *pRet = (LRESULT)ALF_Layout_GetColumnExpandPriv(layout, hwnd, (int)wparam);
return TRUE;
}
if (msg == ALF_WM_LYT_SETCOLEXPAND) {
- *pRet = (LRESULT)ALF_Layout_SetColumnExpand(layout, hwnd, (int)wparam, (int)lparam);
+ *pRet = (LRESULT)ALF_Layout_SetColumnExpandPriv(layout, hwnd, (int)wparam, (int)lparam);
return TRUE;
}
if (msg == ALF_WM_LYT_GETCOLFLAGS) {
- *pRet = (LRESULT)ALF_Layout_GetColumnFlags(layout, hwnd, (int)wparam);
+ *pRet = (LRESULT)ALF_Layout_GetColumnFlagsPriv(layout, hwnd, (int)wparam);
return TRUE;
}
if (msg == ALF_WM_LYT_SETCOLFLAGS) {
- *pRet = (LRESULT)ALF_Layout_SetColumnFlags(layout, hwnd, (int)wparam, (DWORD)lparam);
+ *pRet = (LRESULT)ALF_Layout_SetColumnFlagsPriv(layout, hwnd, (int)wparam, (DWORD)lparam);
return TRUE;
}
if (msg == ALF_WM_LYT_GETROWSIZE) {
- *pRet = (LRESULT)ALF_Layout_GetRowSize(layout, hwnd, (int)wparam);
+ *pRet = (LRESULT)ALF_Layout_GetRowSizePriv(layout, hwnd, (int)wparam);
return TRUE;
}
if (msg == ALF_WM_LYT_SETROWSIZE) {
- *pRet = (LRESULT)ALF_Layout_SetRowSize(layout, hwnd, (int)wparam, (int)lparam);
+ *pRet = (LRESULT)ALF_Layout_SetRowSizePriv(layout, hwnd, (int)wparam, (int)lparam);
return TRUE;
}
if (msg == ALF_WM_LYT_GETROWEXPAND) {
- *pRet = (LRESULT)ALF_Layout_GetRowExpand(layout, hwnd, (int)wparam);
+ *pRet = (LRESULT)ALF_Layout_GetRowExpandPriv(layout, hwnd, (int)wparam);
return TRUE;
}
if (msg == ALF_WM_LYT_SETROWEXPAND) {
- *pRet = (LRESULT)ALF_Layout_SetRowExpand(layout, hwnd, (int)wparam, (int)lparam);
+ *pRet = (LRESULT)ALF_Layout_SetRowExpandPriv(layout, hwnd, (int)wparam, (int)lparam);
return TRUE;
}
if (msg == ALF_WM_LYT_GETROWFLAGS) {
- *pRet = (LRESULT)ALF_Layout_GetRowFlags(layout, hwnd, (int)wparam);
+ *pRet = (LRESULT)ALF_Layout_GetRowFlagsPriv(layout, hwnd, (int)wparam);
return TRUE;
}
if (msg == ALF_WM_LYT_SETROWFLAGS) {
- *pRet = (LRESULT)ALF_Layout_SetRowFlags(layout, hwnd, (int)wparam, (DWORD)lparam);
+ *pRet = (LRESULT)ALF_Layout_SetRowFlagsPriv(layout, hwnd, (int)wparam, (DWORD)lparam);
return TRUE;
}
return FALSE;
}
+
+// public api
+
+DWORD
+ALF_Layout_ControlFlags(HWND parent, HWND control)
+{
+ return (DWORD)SendMessage(parent, ALF_WM_LYT_GETCTLFLAGS, (WPARAM)control, 0);
+}
+
+BOOL
+ALF_Layout_SetControlFlags(HWND parent, HWND control, DWORD flags)
+{
+ return (BOOL)SendMessage(parent, ALF_WM_LYT_SETCTLFLAGS, (WPARAM)control, (LPARAM)flags);
+}
+
+BOOL
+ALF_Layout_ControlPosition(HWND parent, HWND control, int *pX, int *pY)
+{
+ POINT p = { 0, 0 };
+
+ LRESULT r = SendMessage(parent, ALF_WM_LYT_GETCTLPOS, (WPARAM)control, (LPARAM)&p);
+ *pX = p.x;
+ *pY = p.y;
+ return (BOOL)r;
+}
+
+BOOL
+ALF_Layout_SetControlPosition(HWND parent, HWND control, int x, int y)
+{
+ POINT p = { x, y };
+ return (BOOL)SendMessage(parent, ALF_WM_LYT_SETCTLPOS, (WPARAM)control, (LPARAM)&p);
+}
+
+BOOL
+ALF_Layout_ControlSpan(HWND parent, HWND control, int *pXspan, int *pYspan)
+{
+ POINT p = { 0, 0 };
+
+ LRESULT r = SendMessage(parent, ALF_WM_LYT_GETCTLSPAN, (WPARAM)control, (LPARAM)&p);
+ *pXspan = p.x;
+ *pYspan = p.y;
+ return (BOOL)r;
+}
+
+BOOL
+ALF_Layout_SetControlSpan(HWND parent, HWND control, int xspan, int yspan)
+{
+ POINT p = { xspan, yspan };
+ return (BOOL)SendMessage(parent, ALF_WM_LYT_SETCTLSPAN, (WPARAM)control, (LPARAM)&p);
+}
+
+
+BOOL
+ALF_Layout_ControlMinSize(HWND parent, HWND control, int *pWidth, int *pHeight)
+{
+ SIZE s = { 0, 0 };
+ LRESULT r = SendMessage(parent, ALF_WM_LYT_GETCTLSIZE, (WPARAM)control, (LPARAM)&s);
+ *pWidth = s.cx;
+ *pHeight = s.cy;
+ return (BOOL)r;
+}
+
+BOOL
+ALF_Layout_SetControlMinSize(HWND parent, HWND control, int width, int height)
+{
+ SIZE s = { width, height };
+ return (BOOL)SendMessage(parent, ALF_WM_LYT_SETCTLSIZE, (WPARAM)control, (LPARAM)&s);
+}
+
+HWND
+ALF_Layout_ControlAtPosition(HWND parent, int x, int y)
+{
+ int xy[2] = { x, y };
+
+ return (HWND)SendMessage(parent, ALF_WM_LYT_GETCTLATPOS, 0, (LPARAM)&xy);
+}
+
+int
+ALF_Layout_RowMinSize(HWND parent, int rowno)
+{
+ return (int)SendMessage(parent, ALF_WM_LYT_GETROWSIZE, (WPARAM)rowno, 0);
+}
+
+BOOL
+ALF_Layout_SetRowMinSize(HWND parent, int rowno, int rowsize)
+{
+ return (BOOL)SendMessage(parent, ALF_WM_LYT_SETROWSIZE, (WPARAM)rowno, (LPARAM)rowsize);
+}
+
+int
+ALF_Layout_ColumnMinSize(HWND parent, int colno)
+{
+ return (int)SendMessage(parent, ALF_WM_LYT_GETCOLSIZE, (WPARAM)colno, 0);
+}
+
+BOOL
+ALF_Layout_SetColumnMinSize(HWND parent, int colno, int colsize)
+{
+ return (BOOL)SendMessage(parent, ALF_WM_LYT_SETCOLSIZE, (WPARAM)colno, (LPARAM)colsize);
+}
+
+DWORD
+ALF_Layout_RowFlags(HWND parent, int rowno)
+{
+ return (DWORD)SendMessage(parent, ALF_WM_LYT_GETROWFLAGS, (WPARAM)rowno, 0);
+}
+
+BOOL
+ALF_Layout_SetRowFlags(HWND parent, int rowno, DWORD flags)
+{
+ return (BOOL)SendMessage(parent, ALF_WM_LYT_SETROWFLAGS, (WPARAM)rowno, (LPARAM)flags);
+}
+
+DWORD
+ALF_Layout_ColumnFlags(HWND parent, int colno)
+{
+ return (DWORD)SendMessage(parent, ALF_WM_LYT_GETCOLFLAGS, (WPARAM)colno, 0);
+}
+
+BOOL
+ALF_Layout_SetColumnFlags(HWND parent, int colno, DWORD flags)
+{
+ return (BOOL)SendMessage(parent, ALF_WM_LYT_SETCOLFLAGS, (WPARAM)colno, (LPARAM)flags);
+}
+
+int
+ALF_Layout_RowExpandNumerator(HWND parent, int rowno)
+{
+ return (int)SendMessage(parent, ALF_WM_LYT_GETROWEXPAND, (WPARAM)rowno, 0);
+}
+
+BOOL
+ALF_Layout_SetRowExpandNumerator(HWND parent, int rowno, int expand)
+{
+ return (BOOL)SendMessage(parent, ALF_WM_LYT_SETROWEXPAND, (WPARAM)rowno, (LPARAM)expand);
+}
+
+int
+ALF_Layout_ColumnExpandNumerator(HWND parent, int colno)
+{
+ return (int)SendMessage(parent, ALF_WM_LYT_GETCOLEXPAND, (WPARAM)colno, 0);
+}
+
+BOOL
+ALF_Layout_SetColumnExpandNumerator(HWND parent, int colno, int expand)
+{
+ return (int)SendMessage(parent, ALF_WM_LYT_SETCOLEXPAND, (WPARAM)colno, (LPARAM)expand);
+}
+
+void
+ALF_InvalidateLayout(HWND hwnd)
+{
+ SendMessage(hwnd, ALF_WM_INVALIDATELAYOUT, 0, 0);
+}
+
+void
+ALF_AddControl(HWND win, int x, int y, HWND control, int minWidth, int minHeight, DWORD flags)
+{
+ ALFAddControlParams params;
+ ZeroMemory(&params, sizeof(params));
+ params.hwnd = control;
+ params.x = x;
+ params.y = y;
+ params.width = minWidth;
+ params.height = minHeight;
+ params.flags = flags;
+ SendMessage(win, ALF_WM_ADDCONTROL, 0, (LPARAM)&params);
+}
+
diff --git a/alf/alflayout.h b/alf/alflayout.h
index 8bcc592..b290956 100644
--- a/alf/alflayout.h
+++ b/alf/alflayout.h
@@ -14,7 +14,7 @@ typedef struct {
int yspan;
DWORD flags;
SIZE calculatedSize;
-} ALFWidgetPriv;
+} ALFControlPriv;
typedef struct {
HWND hwnd;
@@ -23,7 +23,7 @@ typedef struct {
int width;
int height;
DWORD flags;
-} ALFAddWidgetParams;
+} ALFAddControlParams;
typedef struct {
// properties set by user
@@ -45,7 +45,7 @@ typedef struct {
#define ALF_LAYOUT_NEED_RECALC_CONTAINER ((DWORD)4)
typedef struct tagALFLayout {
- ALFListHeader widgets;
+ ALFListHeader controls;
ALFLayoutRowOrColumn *columns;
ALFLayoutRowOrColumn *rows;
int nColumns;
@@ -62,10 +62,10 @@ typedef struct tagALFLayout {
ALFColor bgcolor;
RECT containerMargins; // may be written to by the following functions
void (*beginCalcSizes)(struct tagALFLayout *layout, HWND hwnd);
- void (*handleContainerWidgetSize)(struct tagALFLayout *layout, HWND hwnd, HWND hwndContainerWidget, SIZE *s);
+ void (*handleContainerControlSize)(struct tagALFLayout *layout, HWND hwnd, HWND hwndContainerControl, SIZE *s);
void (*endCalcSizes)(struct tagALFLayout *layout, HWND hwnd, SIZE *minSize);
- RECT allocatedWidgetRect;
- void (*preApplyLayoutToContainerWidget)(struct tagALFLayout *layout, HWND hwnd, HWND hwndContainerWidget, RECT *pos); // should modify pos
+ RECT allocatedControlRect;
+ void (*preApplyLayoutToContainerControl)(struct tagALFLayout *layout, HWND hwnd, HWND hwndContainerControl, RECT *pos); // should modify pos
} ALFLayout;
void
@@ -81,16 +81,16 @@ void
ALF_Layout_Apply(ALFLayout *layout, HWND window);
void
-ALF_Layout_AddWidget(ALFLayout *layout, HWND window, const ALFAddWidgetParams *params);
+ALF_Layout_AddControl(ALFLayout *layout, HWND window, const ALFAddControlParams *params);
BOOL
-ALF_Layout_RemoveWidget(ALFLayout *layout, HWND window, HWND widget, BOOL destroy);
+ALF_Layout_RemoveControl(ALFLayout *layout, HWND window, HWND control, BOOL destroy);
BOOL
ALF_Layout_HandleMessage(ALFLayout *layout, HWND window, UINT msg, WPARAM wparam, LPARAM lparam, LRESULT *ret);
HWND
-ALF_Layout_WidgetAtPos(ALFLayout *layout, int x, int y);
+ALF_Layout_ControlAtPosPriv(ALFLayout *layout, int x, int y);
void
ALF_Layout_Invalidate(ALFLayout *layout, HWND window);
diff --git a/alf/alfnativebtn.cpp b/alf/alfnativebtn.cpp
index 8c73e5d..3b35321 100644
--- a/alf/alfnativebtn.cpp
+++ b/alf/alfnativebtn.cpp
@@ -12,7 +12,7 @@ ALF_AddNativeButton(HWND win, WORD id, int x, int y, const TCHAR *text)
(HMENU)(ULONG_PTR)id,
ALF_HINSTANCE,
NULL);
- ALF_AddWidget(win, x, y, hwndBtn, 5625, 1725, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG | ALF_LAYOUT_SIZE_PUSHBUTTON);
+ ALF_AddControl(win, x, y, hwndBtn, 5625, 1725, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG | ALF_LAYOUT_SIZE_PUSHBUTTON);
return hwndBtn;
}
@@ -30,7 +30,7 @@ ALF_AddNativeCheckbox(HWND parent, WORD id, int x, int y, const TCHAR *text)
ALF_HINSTANCE,
NULL);
- ALF_AddWidget(parent, x, y, hwnd, 0, 0, ALF_LAYOUT_SIZE_CHECKBOX | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+ ALF_AddControl(parent, x, y, hwnd, 0, 0, ALF_LAYOUT_SIZE_CHECKBOX | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
return hwnd;
}
@@ -48,7 +48,7 @@ ALF_AddNativeRadioButton(HWND parent, WORD id, int x, int y, const TCHAR *text)
ALF_HINSTANCE,
NULL);
- ALF_AddWidget(parent, x, y, hwnd, 0, 0, ALF_LAYOUT_SIZE_CHECKBOX | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+ ALF_AddControl(parent, x, y, hwnd, 0, 0, ALF_LAYOUT_SIZE_CHECKBOX | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
return hwnd;
}
diff --git a/alf/alfnotebook.cpp b/alf/alfnotebook.cpp
index 494cbee..8bf6b5e 100644
--- a/alf/alfnotebook.cpp
+++ b/alf/alfnotebook.cpp
@@ -327,7 +327,7 @@ ALF_Notebook_InternalPaint(HWND hwnd, ALFNotebookPriv *priv, HDC dc, RECT *f)
}
static DWORD
-ALF_Notebook_GetWidgetFlags(HWND hwndNotebook, ALFNotebookPriv *priv, HWND widget)
+ALF_Notebook_GetControlFlags(HWND hwndNotebook, ALFNotebookPriv *priv, HWND control)
{
int n = ALF_Notebook_InternalTabCount(hwndNotebook, priv->hwndTabCtrl);
for (int i = 0; i < n; ++i) {
@@ -336,7 +336,7 @@ ALF_Notebook_GetWidgetFlags(HWND hwndNotebook, ALFNotebookPriv *priv, HWND widge
p.header.mask = TCIF_PARAM;
if (TabCtrl_GetItem(priv->hwndTabCtrl, i, &p)) {
- if (p.panel == widget) {
+ if (p.panel == control) {
return p.layoutFlags;
}
}
@@ -346,7 +346,7 @@ ALF_Notebook_GetWidgetFlags(HWND hwndNotebook, ALFNotebookPriv *priv, HWND widge
}
static BOOL
-ALF_Notebook_SetWidgetFlags(HWND hwndNotebook, ALFNotebookPriv *priv, HWND widget, DWORD flags)
+ALF_Notebook_SetControlFlags(HWND hwndNotebook, ALFNotebookPriv *priv, HWND control, DWORD flags)
{
int n = ALF_Notebook_InternalTabCount(hwndNotebook, priv->hwndTabCtrl);
for (int i = 0; i < n; ++i) {
@@ -355,7 +355,7 @@ ALF_Notebook_SetWidgetFlags(HWND hwndNotebook, ALFNotebookPriv *priv, HWND widge
p.header.mask = TCIF_PARAM;
if (TabCtrl_GetItem(priv->hwndTabCtrl, i, &p)) {
- if (p.panel == widget) {
+ if (p.panel == control) {
if (p.layoutFlags == flags)
return TRUE;
@@ -538,10 +538,10 @@ ALF_Notebook_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
if ((oldFlags & ALF_NOTEBOOK_SOLID_TAB_BACKGROUND) != (priv->flags & ALF_NOTEBOOK_SOLID_TAB_BACKGROUND)) {
ALF_Notebook_InternalHandleThemeChange(hwnd, priv);
}
- } else if (uMsg == ALF_WM_LYT_GETWDGTFLAGS) {
- return (LRESULT)ALF_Notebook_GetWidgetFlags(hwnd, priv, (HWND)wParam);
- } else if (uMsg == ALF_WM_LYT_SETWDGTFLAGS) {
- return (LRESULT)ALF_Notebook_SetWidgetFlags(hwnd, priv, (HWND)wParam, (DWORD)lParam);
+ } else if (uMsg == ALF_WM_LYT_GETCTLFLAGS) {
+ return (LRESULT)ALF_Notebook_GetControlFlags(hwnd, priv, (HWND)wParam);
+ } else if (uMsg == ALF_WM_LYT_SETCTLFLAGS) {
+ return (LRESULT)ALF_Notebook_SetControlFlags(hwnd, priv, (HWND)wParam, (DWORD)lParam);
} else if (uMsg == ALF_WM_DPICHANGE) {
priv->dpi = (int)lParam;
ALF_Notebook_PropagateDpiChange(hwnd, priv, wParam, lParam);
@@ -564,7 +564,7 @@ ALF_AddNotebook(HWND parent, WORD id, int x, int y)
ALF_Notebook_WindowProc,
NULL);
- ALF_AddWidget(parent, x, y, hwndNtbk, 0, 0, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_SENDDPICHANGE);
+ ALF_AddControl(parent, x, y, hwndNtbk, 0, 0, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_SENDDPICHANGE);
return hwndNtbk;
}
diff --git a/alf/alfpanel.cpp b/alf/alfpanel.cpp
index 7bb3f61..62bac1e 100644
--- a/alf/alfpanel.cpp
+++ b/alf/alfpanel.cpp
@@ -161,23 +161,23 @@ ALF_Panel_DefWindowProc(HWND window, UINT msg, WPARAM wparam, LPARAM lparam)
RECT c;
GetClientRect(window, &c);
- if (c.right > priv->layout.allocatedWidgetRect.right + priv->layout.containerMargins.right) {
+ if (c.right > priv->layout.allocatedControlRect.right + priv->layout.containerMargins.right) {
// enlarged to the right -> invalidate place occupied by old border
- RECT i = { priv->layout.allocatedWidgetRect.right,
+ RECT i = { priv->layout.allocatedControlRect.right,
0,
c.right,
c.bottom };
InvalidateRect(window, &i, TRUE);
}
- if (c.bottom > priv->layout.allocatedWidgetRect.bottom + priv->layout.containerMargins.bottom) {
+ if (c.bottom > priv->layout.allocatedControlRect.bottom + priv->layout.containerMargins.bottom) {
// enlarged to the bottom -> invalidate place occupied by old border
RECT i = { 0,
- priv->layout.allocatedWidgetRect.bottom,
+ priv->layout.allocatedControlRect.bottom,
c.right,
c.bottom };
InvalidateRect(window, &i, TRUE);
}
- if (c.right < priv->layout.allocatedWidgetRect.right + priv->layout.containerMargins.right) {
+ if (c.right < priv->layout.allocatedControlRect.right + priv->layout.containerMargins.right) {
// shrunk horizontally -> invalidate place now occupied by new border
RECT i = { c.right - priv->layout.containerMargins.right,
0,
@@ -185,7 +185,7 @@ ALF_Panel_DefWindowProc(HWND window, UINT msg, WPARAM wparam, LPARAM lparam)
c.bottom };
InvalidateRect(window, &i, TRUE);
}
- if (c.bottom < priv->layout.allocatedWidgetRect.bottom + priv->layout.containerMargins.bottom) {
+ if (c.bottom < priv->layout.allocatedControlRect.bottom + priv->layout.containerMargins.bottom) {
// shrunk vertically -> invalidate place now ocuupied by new border
RECT i = { 0,
c.bottom - priv->layout.containerMargins.bottom,
@@ -266,7 +266,7 @@ ALF_AddPanel(HWND parent, WORD id, int x, int y)
{
HWND hwndPanel = ALF_CreatePanelWindow(parent, id);
- ALF_AddWidget(parent, x, y, hwndPanel, 0, 0, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_INHERITBGCOLOR | ALF_LAYOUT_SENDBGCHANGE | ALF_LAYOUT_SENDDPICHANGE);
+ ALF_AddControl(parent, x, y, hwndPanel, 0, 0, ALF_LAYOUT_SIZE_QUERY | ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_INHERITBGCOLOR | ALF_LAYOUT_SENDBGCHANGE | ALF_LAYOUT_SENDDPICHANGE);
return hwndPanel;
}
diff --git a/widgetfactory.cpp b/widgetfactory.cpp
index 7c63191..29c7475 100644
--- a/widgetfactory.cpp
+++ b/widgetfactory.cpp
@@ -160,7 +160,7 @@ commonPanelMessage(void *closure, HWND hwnd, UINT msg, WPARAM wparam, LPARAM lpa
switch (priv->bgmode) {
case BG_INHERIT:
- ALF_AddWidgetLayoutFlag(GetParent(hwnd), hwnd, ALF_LAYOUT_INHERITBGCOLOR);
+ ALF_Layout_AddControlFlag(GetParent(hwnd), hwnd, ALF_LAYOUT_INHERITBGCOLOR);
ALF_InvalidateBackground(hwnd);
break;
case BG_GRADIENT:
@@ -212,10 +212,10 @@ buttonPanelAttach(void *closure, HWND outerPanel)
ALF_AddLabel(panel, (WORD)-1, 0, 6, TEXT("layout dummy"));
b = ALF_AddButton(panel, (WORD)-1, 2, 2, TEXT("Hello, World!"));
- ALF_SetWidgetLayoutMinSize(panel, b, 0, 0);
+ ALF_Layout_SetControlMinSize(panel, b, 0, 0);
b = ALF_AddButton(panel, (WORD)-1, 2, 4, TEXT("Hello, World!"));
EnableWindow(b, FALSE);
- ALF_SetWidgetLayoutMinSize(panel, b, 0, 0);
+ ALF_Layout_SetControlMinSize(panel, b, 0, 0);
HWND hwndNb1 = CreateWindowEx(0,
@@ -238,14 +238,14 @@ buttonPanelAttach(void *closure, HWND outerPanel)
NULL);
EnableWindow(hwndNb2, FALSE);
- 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_AddControl(panel, 4, 2, hwndNb1, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+ ALF_AddControl(panel, 4, 4, hwndNb2, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
b = ALF_AddButton(panel, (WORD)-1, 4, 6, TEXT("Hello, World!"));
- ALF_SetWidgetLayoutMinSize(panel, b, 0, 0);
+ ALF_Layout_SetControlMinSize(panel, b, 0, 0);
b = ALF_AddButton(panel, (WORD)-1, 2, 8, TEXT("Multiline\r\nButton"));
- ALF_SetWidgetLayoutMinSize(panel, b, 0, 0);
+ ALF_Layout_SetControlMinSize(panel, b, 0, 0);
HWND hwndNb3 = CreateWindowEx(0,
TEXT("BUTTON"),
@@ -257,17 +257,17 @@ buttonPanelAttach(void *closure, HWND outerPanel)
(HINSTANCE)GetModuleHandle(NULL),
NULL);
- ALF_AddWidget(panel, 4, 8, hwndNb3, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+ ALF_AddControl(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_Layout_SetRowMinSize(panel, 1, 825);
+ ALF_Layout_SetRowMinSize(panel, 3, 825);
+ ALF_Layout_SetRowMinSize(panel, 5, 825);
+ ALF_Layout_SetRowMinSize(panel, 7, 825);
+ ALF_Layout_SetRowMinSize(panel, 9, 825);
+ ALF_Layout_SetColumnMinSize(panel, 1, 825);
+ ALF_Layout_SetColumnMinSize(panel, 3, 825);
- ALF_LayoutSetColumnExpandNumerator(panel, 9, 1);
+ ALF_Layout_SetColumnExpandNumerator(panel, 9, 1);
ALF_Panel_SetEdge(panel, BDR_RAISEDINNER);
@@ -284,7 +284,7 @@ buttonPanelAttach(void *closure, HWND outerPanel)
(HMENU)(WORD)-1,
(HINSTANCE)GetModuleHandle(NULL),
NULL);
- ALF_AddWidget(panel, 4, 2, hwndNb4, 5625, 1725, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+ ALF_AddControl(panel, 4, 2, hwndNb4, 5625, 1725, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
ALF_AddButton(panel, (WORD)-1, 2, 4, TEXT("Expanding"));
@@ -297,7 +297,7 @@ buttonPanelAttach(void *closure, HWND outerPanel)
(HMENU)(WORD)-1,
(HINSTANCE)GetModuleHandle(NULL),
NULL);
- ALF_AddWidget(panel, 4, 4, hwndNb5, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+ ALF_AddControl(panel, 4, 4, hwndNb5, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
ALF_AddButton(panel, (WORD)-1, 2, 6, TEXT("Expanding\r\nMultiline"));
@@ -310,22 +310,22 @@ buttonPanelAttach(void *closure, HWND outerPanel)
(HMENU)(WORD)-1,
(HINSTANCE)GetModuleHandle(NULL),
NULL);
- ALF_AddWidget(panel, 4, 6, hwndNb6, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+ ALF_AddControl(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_Layout_SetRowMinSize(panel, 1, 825);
+ ALF_Layout_SetRowMinSize(panel, 3, 825);
+ ALF_Layout_SetRowMinSize(panel, 5, 825);
+ ALF_Layout_SetRowMinSize(panel, 7, 825);
+ ALF_Layout_SetColumnMinSize(panel, 1, 825);
+ ALF_Layout_SetColumnMinSize(panel, 3, 825);
- ALF_LayoutSetColumnExpandNumerator(panel, 9, 1);
- ALF_LayoutSetRowExpandNumerator(panel, 4, 1);
- ALF_LayoutSetRowExpandNumerator(panel, 6, 1);
+ ALF_Layout_SetColumnExpandNumerator(panel, 9, 1);
+ ALF_Layout_SetRowExpandNumerator(panel, 4, 1);
+ ALF_Layout_SetRowExpandNumerator(panel, 6, 1);
ALF_Panel_SetEdge(panel, BDR_RAISEDINNER);
- ALF_LayoutSetRowExpandNumerator(outerPanel, 1, 1);
+ ALF_Layout_SetRowExpandNumerator(outerPanel, 1, 1);
// TODO: recreate old button box
@@ -355,8 +355,8 @@ buttonPanelAttach(void *closure, HWND outerPanel)
(HINSTANCE)GetWindowLongPtr(panel, GWLP_HINSTANCE),
NULL);
EnableWindow(hwndBc5, FALSE);
- ALF_AddWidget(panel, 3, 0, hwndBc4, 1000, 0, ALF_LAYOUT_INHERITFONT);
- ALF_AddWidget(panel, 4, 0, hwndBc5, 1000, 0, ALF_LAYOUT_INHERITFONT);*/
+ ALF_AddControl(panel, 3, 0, hwndBc4, 1000, 0, ALF_LAYOUT_INHERITFONT);
+ ALF_AddControl(panel, 4, 0, hwndBc5, 1000, 0, ALF_LAYOUT_INHERITFONT);*/
}
static ALFPanelVTable buttonPanelVtbl = {
@@ -378,7 +378,7 @@ buttonPanelInit(HWND panel)
/* label panel */
-//FIXME! replace with real widget
+//FIXME! replace with real control
static HWND
makeSeparator(HWND parent, int x, int y)
{
@@ -421,9 +421,9 @@ labelPanelAttach(void *closure, HWND panel)
makeSeparator(g, 4, 1);
makeSeparator(g, 4, 3);
- ALF_LayoutSetRowExpandNumerator(g, 0, 1);
- ALF_LayoutSetRowExpandNumerator(g, 2, 1);
- ALF_LayoutSetRowExpandNumerator(g, 4, 1);
+ ALF_Layout_SetRowExpandNumerator(g, 0, 1);
+ ALF_Layout_SetRowExpandNumerator(g, 2, 1);
+ ALF_Layout_SetRowExpandNumerator(g, 4, 1);
makeSeparator(g, 1, 0);
makeSeparator(g, 1, 2);
@@ -432,9 +432,9 @@ labelPanelAttach(void *closure, HWND panel)
makeSeparator(g, 3, 2);
makeSeparator(g, 3, 4);
- ALF_LayoutSetColumnExpandNumerator(g, 0, 1);
- ALF_LayoutSetColumnExpandNumerator(g, 2, 1);
- ALF_LayoutSetColumnExpandNumerator(g, 4, 1);
+ ALF_Layout_SetColumnExpandNumerator(g, 0, 1);
+ ALF_Layout_SetColumnExpandNumerator(g, 2, 1);
+ ALF_Layout_SetColumnExpandNumerator(g, 4, 1);
g = ALF_AddGroupBox(panel, (WORD)-1, 1, 0, TEXT("Like Edit"));
ALF_AddLabel(g, (WORD)-1, 1, 2, TEXT("Bas&eline"));
@@ -449,7 +449,7 @@ labelPanelAttach(void *closure, HWND panel)
l = ALF_AddLabel(g, (WORD)-1, 0, 1, TEXT("Disabled"));
EnableWindow(l, FALSE);
- ALF_LayoutSetRowExpandNumerator(panel, 0, 1);
+ ALF_Layout_SetRowExpandNumerator(panel, 0, 1);
}
static ALFPanelVTable labelPanelVtbl = {
@@ -495,14 +495,14 @@ comboPanelAttach(void *closure, HWND panel)
ALF_ComboBox_SetText(hwndCombo2, TEXT("Goodbye World!"));
- 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, 2, 1);
- ALF_LayoutSetRowExpandNumerator(panel, 9, 1);
+ ALF_Layout_SetRowMinSize(panel, 1, 825);
+ ALF_Layout_SetRowMinSize(panel, 3, 825);
+ ALF_Layout_SetRowMinSize(panel, 5, 825);
+ ALF_Layout_SetRowMinSize(panel, 7, 825);
+ ALF_Layout_SetColumnMinSize(panel, 1, 825);
+ ALF_Layout_SetColumnMinSize(panel, 3, 825);
+ ALF_Layout_SetColumnExpandNumerator(panel, 2, 1);
+ ALF_Layout_SetRowExpandNumerator(panel, 9, 1);
}
static ALFPanelVTable comboPanelVtbl = {
@@ -540,15 +540,15 @@ notebookPanelAttach(void *closure, HWND panel)
ALF_AddButton(hwndTabPanel0, ID_B_TABBGSOLID, 0, 0, TEXT("Solid tab background"));
ALF_AddButton(hwndTabPanel0, ID_B_TABBGTEXTURE, 0, 1, TEXT("Textured tab background"));
- ALF_LayoutSetRowExpandNumerator(hwndTabPanel0, 2, 1);
- ALF_LayoutSetColumnExpandNumerator(hwndTabPanel0, 1, 1);
+ ALF_Layout_SetRowExpandNumerator(hwndTabPanel0, 2, 1);
+ ALF_Layout_SetColumnExpandNumerator(hwndTabPanel0, 1, 1);
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_AddLabel(hwndTabPanel1, (WORD)-1, 0, 1, TEXT("Blabla"));
- ALF_LayoutSetRowExpandNumerator(hwndTabPanel1, 1, 1);
+ ALF_Layout_SetRowExpandNumerator(hwndTabPanel1, 1, 1);
ALF_AddLabel(hwndTabPanel1, (WORD)-1, 0, 2, TEXT("No 3"));
ALF_AddEdit(hwndTabPanel1, (WORD)-1, 0, 3, TEXT("Dummy"));
@@ -592,11 +592,11 @@ checkboxPanelAttach(void *closure, HWND outerPanel)
HWND c = ALF_AddCheckbox(panel, (WORD)-1, 1, 8, TEXT("Disabled Checkbox"));
EnableWindow(c, FALSE);
- 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);
+ ALF_Layout_SetRowMinSize(panel, 3, 525);
+ ALF_Layout_SetRowMinSize(panel, 5, 525);
+ ALF_Layout_SetRowMinSize(panel, 7, 525);
+ ALF_Layout_SetColumnExpandNumerator(panel, 9, 1);
+ ALF_Layout_SetRowExpandNumerator(panel, 9, 1);
panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 3, 1, TEXT("Nat&ive Checkbox"));
@@ -604,10 +604,10 @@ checkboxPanelAttach(void *closure, HWND outerPanel)
HWND hwnd = ALF_AddNativeCheckbox(panel, (WORD)-1, 1, 3, TEXT("Native disabled Chec&kbox"));
EnableWindow(hwnd, FALSE);
- ALF_LayoutSetRowMinSize(panel, 2, 525);
- ALF_LayoutSetRowMinSize(panel, 4, 525);
- ALF_LayoutSetColumnExpandNumerator(panel, 9, 1);
- ALF_LayoutSetRowExpandNumerator(panel, 9, 1);
+ ALF_Layout_SetRowMinSize(panel, 2, 525);
+ ALF_Layout_SetRowMinSize(panel, 4, 525);
+ ALF_Layout_SetColumnExpandNumerator(panel, 9, 1);
+ ALF_Layout_SetRowExpandNumerator(panel, 9, 1);
panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 1, 3, TEXT("ALF Radio Button"));
@@ -618,11 +618,11 @@ checkboxPanelAttach(void *closure, HWND outerPanel)
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);
+ ALF_Layout_SetRowMinSize(panel, 3, 525);
+ ALF_Layout_SetRowMinSize(panel, 5, 525);
+ ALF_Layout_SetRowMinSize(panel, 7, 525);
+ ALF_Layout_SetColumnExpandNumerator(panel, 9, 1);
+ ALF_Layout_SetRowExpandNumerator(panel, 9, 1);
panel = ALF_AddGroupBox(outerPanel, (WORD)-1, 3, 3, TEXT("Native Radio"));
@@ -631,19 +631,19 @@ checkboxPanelAttach(void *closure, HWND outerPanel)
ALF_AddNativeRadioButton(panel, (WORD)-1, 1, 3, TEXT("Native Radio B&utton #2"));
- 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);
+ ALF_Layout_SetRowMinSize(panel, 2, 525);
+ ALF_Layout_SetRowMinSize(panel, 4, 525);
+ ALF_Layout_SetColumnExpandNumerator(panel, 9, 1);
+ ALF_Layout_SetRowExpandNumerator(panel, 9, 1);
+
+ ALF_Layout_SetRowMinSize(outerPanel, 0, 825);
+ ALF_Layout_SetRowMinSize(outerPanel, 2, 825);
+ ALF_Layout_SetColumnMinSize(outerPanel, 0, 825);
+ ALF_Layout_SetColumnMinSize(outerPanel, 2, 825);
+ ALF_Layout_SetColumnMinSize(outerPanel, 4, 825);
+ ALF_Layout_SetColumnExpandNumerator(outerPanel, 1, 1);
+ ALF_Layout_SetColumnExpandNumerator(outerPanel, 3, 1);
+ ALF_Layout_SetRowExpandNumerator(outerPanel, 1, 1);
}
static ALFPanelVTable checkboxPanelVtbl = {
@@ -684,7 +684,7 @@ groupboxPanelAttach(void *closure, HWND panel)
(HMENU)(WORD)-1,
(HINSTANCE)GetModuleHandle(NULL),
NULL);
- ALF_AddWidget(panel, 3, 3, hwndGb1, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+ ALF_AddControl(panel, 3, 3, hwndGb1, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
ALF_AddEdit(hwndGb0, (WORD)-1, 0, 0, TEXT("Dummy"));
@@ -700,20 +700,20 @@ groupboxPanelAttach(void *closure, HWND panel)
(HMENU)(WORD)-1,
(HINSTANCE)GetModuleHandle(NULL),
NULL);
- ALF_AddWidget(panel, 3, 5, hwndGb2, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
+ ALF_AddControl(panel, 3, 5, hwndGb2, 0, 0, ALF_LAYOUT_INHERITFONT | ALF_LAYOUT_TRANSPARENTBG);
EnableWindow(hwndGb2, FALSE);
- ALF_LayoutSetRowMinSize(panel, 0, 825);
- ALF_LayoutSetRowMinSize(panel, 2, 825);
- ALF_LayoutSetRowMinSize(panel, 4, 825);
- ALF_LayoutSetRowMinSize(panel, 6, 825);
- ALF_LayoutSetColumnMinSize(panel, 0, 825);
- ALF_LayoutSetColumnMinSize(panel, 2, 825);
- ALF_LayoutSetColumnMinSize(panel, 4, 825);
- ALF_LayoutSetRowExpandNumerator(panel, 3, 1);
- ALF_LayoutSetRowExpandNumerator(panel, 5, 1);
- ALF_LayoutSetColumnExpandNumerator(panel, 1, 1);
- ALF_LayoutSetColumnExpandNumerator(panel, 3, 1);
+ ALF_Layout_SetRowMinSize(panel, 0, 825);
+ ALF_Layout_SetRowMinSize(panel, 2, 825);
+ ALF_Layout_SetRowMinSize(panel, 4, 825);
+ ALF_Layout_SetRowMinSize(panel, 6, 825);
+ ALF_Layout_SetColumnMinSize(panel, 0, 825);
+ ALF_Layout_SetColumnMinSize(panel, 2, 825);
+ ALF_Layout_SetColumnMinSize(panel, 4, 825);
+ ALF_Layout_SetRowExpandNumerator(panel, 3, 1);
+ ALF_Layout_SetRowExpandNumerator(panel, 5, 1);
+ ALF_Layout_SetColumnExpandNumerator(panel, 1, 1);
+ ALF_Layout_SetColumnExpandNumerator(panel, 3, 1);
}
static ALFPanelVTable groupboxPanelVtbl = {
@@ -766,23 +766,24 @@ handleCommand(void *closure, HWND window, WORD notificationcode, WORD sourceid,
if (notificationcode == CBN_SELCHANGE && sourceid == ID_COMBO2) {
TCHAR *text = ALF_ComboBox_CurrentText(control);
- ALF_SetWidgetText(window, ID_LBLCOMBOTEXT, text);
+ HWND hwndLbl = ALF_ControlHwndById(window, ID_LBLCOMBOTEXT);
+ ALF_SetText(hwndLbl, text);
ALF_Free(text);
}
if (control != NULL && sourceid == ID_BTNCOMBOCLEAR) {
- HWND combo = ALF_WidgetHwndById(window, ID_COMBO2);
+ HWND combo = ALF_ControlHwndById(window, ID_COMBO2);
ALF_ComboBox_SetCurrentIndex(combo, -1);
}
if (sourceid == ID_HELLO) {
ALF_MessageBox(window, TEXT("Hello World!"), TEXT("Hello"), MB_ICONASTERISK|MB_OK);
}
if (control != NULL && sourceid == ID_B_TABBGSOLID) {
- HWND nb = ALF_WidgetHwndById(window, ID_NOTEBOOK);
+ HWND nb = ALF_ControlHwndById(window, ID_NOTEBOOK);
ALF_Notebook_AddFlag(nb, ALF_NOTEBOOK_SOLID_TAB_BACKGROUND);
}
if (control != NULL && sourceid == ID_B_TABBGTEXTURE) {
- HWND nb = ALF_WidgetHwndById(window, ID_NOTEBOOK);
+ HWND nb = ALF_ControlHwndById(window, ID_NOTEBOOK);
ALF_Notebook_RemoveFlag(nb, ALF_NOTEBOOK_SOLID_TAB_BACKGROUND);
}
@@ -791,32 +792,32 @@ handleCommand(void *closure, HWND window, WORD notificationcode, WORD sourceid,
}
if (sourceid == IDM_BACKGROUND_BLUE) {
- HWND nb = ALF_WidgetHwndById(window, ID_NOTEBOOK);
+ HWND nb = ALF_ControlHwndById(window, ID_NOTEBOOK);
HWND panel = ALF_Notebook_SelectedPanel(nb);
SendMessage(panel, FM_PANEL_SET_BGMODE, 0, (LPARAM)BG_SOLID_BLUE);
}
if (sourceid == IDM_BACKGROUND_GREEN) {
- HWND nb = ALF_WidgetHwndById(window, ID_NOTEBOOK);
+ HWND nb = ALF_ControlHwndById(window, ID_NOTEBOOK);
HWND panel = ALF_Notebook_SelectedPanel(nb);
SendMessage(panel, FM_PANEL_SET_BGMODE, 0, (LPARAM)BG_SOLID_GREEN);
}
if (sourceid == IDM_BACKGROUND_INHERIT) {
- HWND nb = ALF_WidgetHwndById(window, ID_NOTEBOOK);
+ HWND nb = ALF_ControlHwndById(window, ID_NOTEBOOK);
HWND panel = ALF_Notebook_SelectedPanel(nb);
SendMessage(panel, FM_PANEL_SET_BGMODE, 0, (LPARAM)BG_INHERIT);
}
if (sourceid == IDM_BACKGROUND_GRADIENT) {
- HWND nb = ALF_WidgetHwndById(window, ID_NOTEBOOK);
+ HWND nb = ALF_ControlHwndById(window, ID_NOTEBOOK);
HWND panel = ALF_Notebook_SelectedPanel(nb);
SendMessage(panel, FM_PANEL_SET_BGMODE, 0, (LPARAM)BG_GRADIENT);
}
if (sourceid >= IDM_PANES && sourceid < IDM_PANES__MAX) {
int paneId = sourceid - IDM_PANES;
- HWND nb = ALF_WidgetHwndById(window, ID_NOTEBOOK);
+ HWND nb = ALF_ControlHwndById(window, ID_NOTEBOOK);
addPaneToNotebook(nb, paneId);
}
@@ -842,12 +843,12 @@ wfModalDialogInit(void *closure, HWND dialog)
ALF_SetText(dialog, g_paneLabels[paneid]);
- ALF_LayoutSetColumnExpandNumerator(dialog, 1, 1);
- ALF_LayoutSetRowExpandNumerator(dialog, 1, 1);
- ALF_LayoutSetRowMinSize(dialog, 0, 525);
- ALF_LayoutSetRowMinSize(dialog, 2, 525);
- ALF_LayoutSetColumnMinSize(dialog, 0, 525);
- ALF_LayoutSetColumnMinSize(dialog, 2, 525);
+ ALF_Layout_SetColumnExpandNumerator(dialog, 1, 1);
+ ALF_Layout_SetRowExpandNumerator(dialog, 1, 1);
+ ALF_Layout_SetRowMinSize(dialog, 0, 525);
+ ALF_Layout_SetRowMinSize(dialog, 2, 525);
+ ALF_Layout_SetColumnMinSize(dialog, 0, 525);
+ ALF_Layout_SetColumnMinSize(dialog, 2, 525);
return TRUE;
}
@@ -895,12 +896,12 @@ wfModelessDialogInit(void *closure, HWND dialog)
ALF_SetText(dialog, g_paneLabels[paneid]);
- ALF_LayoutSetColumnExpandNumerator(dialog, 1, 1);
- ALF_LayoutSetRowExpandNumerator(dialog, 1, 1);
- ALF_LayoutSetRowMinSize(dialog, 0, 525);
- ALF_LayoutSetRowMinSize(dialog, 2, 525);
- ALF_LayoutSetColumnMinSize(dialog, 0, 525);
- ALF_LayoutSetColumnMinSize(dialog, 2, 525);
+ ALF_Layout_SetColumnExpandNumerator(dialog, 1, 1);
+ ALF_Layout_SetRowExpandNumerator(dialog, 1, 1);
+ ALF_Layout_SetRowMinSize(dialog, 0, 525);
+ ALF_Layout_SetRowMinSize(dialog, 2, 525);
+ ALF_Layout_SetColumnMinSize(dialog, 0, 525);
+ ALF_Layout_SetColumnMinSize(dialog, 2, 525);
return TRUE;
}
@@ -979,7 +980,7 @@ WinMain
ALF_SetText(win, TEXT("Widget Factory"));
HWND hwndNtbk = ALF_AddNotebook(win, ID_NOTEBOOK, 1, 1);
- ALF_SetWidgetLayoutSpan(win, hwndNtbk, 4, 1);
+ ALF_Layout_SetControlSpan(win, hwndNtbk, 4, 1);
addPaneToNotebook(hwndNtbk, PANE_BUTTONS);
addPaneToNotebook(hwndNtbk, PANE_LABEL);
@@ -991,14 +992,14 @@ WinMain
ALF_AddNativeButton(win, ID_HELLO, 1, 3, TEXT("&Hello World!"));
ALF_AddNativeButton(win, (WORD)-1, 3, 3, TEXT("Goodbye, World"));
- ALF_LayoutSetRowMinSize(win, 2, 525);
- ALF_LayoutSetRowMinSize(win, 0, 525);
- ALF_LayoutSetRowMinSize(win, 4, 525);
- ALF_LayoutSetColumnMinSize(win, 0, 525);
- ALF_LayoutSetColumnMinSize(win, 2, 525);
- ALF_LayoutSetColumnMinSize(win, 5, 525);
- ALF_LayoutSetRowExpandNumerator(win, 1, 1);
- ALF_LayoutSetColumnExpandNumerator(win, 4, 1);
+ ALF_Layout_SetRowMinSize(win, 2, 525);
+ ALF_Layout_SetRowMinSize(win, 0, 525);
+ ALF_Layout_SetRowMinSize(win, 4, 525);
+ ALF_Layout_SetColumnMinSize(win, 0, 525);
+ ALF_Layout_SetColumnMinSize(win, 2, 525);
+ ALF_Layout_SetColumnMinSize(win, 5, 525);
+ ALF_Layout_SetRowExpandNumerator(win, 1, 1);
+ ALF_Layout_SetColumnExpandNumerator(win, 4, 1);
ALF_Toplevel_SetDefaultButton(win, ID_HELLO);
ALF_SetFocus(GetNextDlgTabItem(win, win, FALSE));