static LRESULT CALLBACK groupSubProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData) { uiGroup *g = uiGroup(dwRefData); WINDOWPOS *wp = (WINDOWPOS *) lParam; MINMAXINFO *mmi = (MINMAXINFO *) lParam; int minwid, minht; LRESULT lResult; if (handleParentMessages(hwnd, uMsg, wParam, lParam, &lResult) != FALSE) return lResult; switch (uMsg) { case WM_WINDOWPOSCHANGED: if ((wp->flags & SWP_NOSIZE) != 0) break; groupRelayout(g); return 0; case WM_GETMINMAXINFO: lResult = DefWindowProcW(hwnd, uMsg, wParam, lParam); uiWindowsControlMinimumSize(uiWindowsControl(g), &minwid, &minht); mmi->ptMinTrackSize.x = minwid; mmi->ptMinTrackSize.y = minht; return lResult; case WM_NCDESTROY: if (RemoveWindowSubclass(hwnd, groupSubProc, uIdSubclass) == FALSE) logLastError(L"error removing groupbox subclass"); break; } return DefSubclassProc(hwnd, uMsg, wParam, lParam); }
static void uiGroupSyncEnableState(uiWindowsControl *c, int enabled) { uiGroup *g = uiGroup(c); if (uiWindowsShouldStopSyncEnableState(uiWindowsControl(g), enabled)) return; EnableWindow(g->hwnd, enabled); if (g->child != NULL) uiWindowsControlSyncEnableState(uiWindowsControl(g->child), enabled); }
static void uiGroupMinimumSizeChanged(uiWindowsControl *c) { uiGroup *g = uiGroup(c); if (uiWindowsControlTooSmall(uiWindowsControl(g))) { uiWindowsControlContinueMinimumSizeChanged(uiWindowsControl(g)); return; } groupRelayout(g); }
void HgConfig::setProperty(const QString §ion, const QString &propertyName, const QString &propertyValue) { KConfigGroup uiGroup(m_config, section); if (propertyValue.isEmpty()) { uiGroup.deleteEntry(propertyName, KConfigGroup::Normal); return; } uiGroup.writeEntry(propertyName, propertyValue.trimmed()); }
static void uiGroupDestroy(uiControl *c) { uiGroup *g = uiGroup(c); if (g->child != NULL) { uiControlSetParent(g->child, NULL); uiControlDestroy(g->child); } uiWindowsEnsureDestroyWindow(g->hwnd); uiFreeControl(uiControl(g)); }
static void uiGroupMinimumSize(uiWindowsControl *c, int *width, int *height) { uiGroup *g = uiGroup(c); int mx, mtop, mbottom; int labelWidth; *width = 0; *height = 0; if (g->child != NULL) uiWindowsControlMinimumSize(uiWindowsControl(g->child), width, height); labelWidth = uiWindowsWindowTextWidth(g->hwnd); if (*width < labelWidth) // don't clip the label; it doesn't ellipsize *width = labelWidth; groupMargins(g, &mx, &mtop, &mbottom); *width += 2 * mx; *height += mtop + mbottom; }