@Override Point computeSizeInPixels (int wHint, int hHint, boolean changed) { Point size = super.computeSizeInPixels(wHint, hHint, changed); int width = computeNativeSize (handle, SWT.DEFAULT, SWT.DEFAULT, false).x; size.x = Math.max (size.x, width); return size; } @Override
@Override Point computeSizeInPixels (int wHint, int hHint, boolean changed) { Point size = super.computeSizeInPixels(wHint, hHint, changed); int width = computeNativeSize (handle, SWT.DEFAULT, SWT.DEFAULT, false).x; size.x = Math.max (size.x, width); return size; } @Override
@Override Point computeSizeInPixels (int wHint, int hHint, boolean changed) { Point size = super.computeSizeInPixels(wHint, hHint, changed); int width = computeNativeSize (handle, SWT.DEFAULT, SWT.DEFAULT, false).x; size.x = Math.max (size.x, width); return size; } @Override
@Override Point computeSizeInPixels (int wHint, int hHint, boolean changed) { checkWidget (); Point size = super.computeSizeInPixels (wHint, hHint, changed); if (wHint != SWT.DEFAULT && wHint < 0) wHint = 0; if (hHint != SWT.DEFAULT && hHint < 0) hHint = 0; boolean scrollable = OS.gtk_notebook_get_scrollable (handle); OS.gtk_notebook_set_scrollable (handle, false); Point notebookSize = computeNativeSize (handle, wHint, hHint, changed); OS.gtk_notebook_set_scrollable (handle, scrollable); if (OS.GTK_VERSION >= OS.VERSION (3, 2, 0)) { int[] initialGap = new int[1]; OS.gtk_widget_style_get (handle, OS.initial_gap, initialGap, 0); notebookSize.x += initialGap[0]*2; } size.x = Math.max (notebookSize.x, size.x); size.y = Math.max (notebookSize.y, size.y); return size; }
@Override Point computeSizeInPixels (int wHint, int hHint, boolean changed) { checkWidget (); Point size = super.computeSizeInPixels (wHint, hHint, changed); if (wHint != SWT.DEFAULT && wHint < 0) wHint = 0; if (hHint != SWT.DEFAULT && hHint < 0) hHint = 0; boolean scrollable = OS.gtk_notebook_get_scrollable (handle); OS.gtk_notebook_set_scrollable (handle, false); Point notebookSize = computeNativeSize (handle, wHint, hHint, changed); OS.gtk_notebook_set_scrollable (handle, scrollable); if (OS.GTK_VERSION >= OS.VERSION (3, 2, 0)) { int[] initialGap = new int[1]; OS.gtk_widget_style_get (handle, OS.initial_gap, initialGap, 0); notebookSize.x += initialGap[0]*2; } size.x = Math.max (notebookSize.x, size.x); size.y = Math.max (notebookSize.y, size.y); return size; }
@Override Point computeSizeInPixels (int wHint, int hHint, boolean changed) { checkWidget (); Point size = super.computeSizeInPixels (wHint, hHint, changed); if (wHint != SWT.DEFAULT && wHint < 0) wHint = 0; if (hHint != SWT.DEFAULT && hHint < 0) hHint = 0; boolean scrollable = OS.gtk_notebook_get_scrollable (handle); OS.gtk_notebook_set_scrollable (handle, false); Point notebookSize = computeNativeSize (handle, wHint, hHint, changed); OS.gtk_notebook_set_scrollable (handle, scrollable); if (OS.GTK_VERSION >= OS.VERSION (3, 2, 0)) { int[] initialGap = new int[1]; OS.gtk_widget_style_get (handle, OS.initial_gap, initialGap, 0); notebookSize.x += initialGap[0]*2; } size.x = Math.max (notebookSize.x, size.x); size.y = Math.max (notebookSize.y, size.y); return size; }
@Override Point computeSizeInPixels (int wHint, int hHint, boolean changed) { checkWidget (); Point size = super.computeSizeInPixels (wHint, hHint, changed); RECT insetRect = new RECT (), itemRect = new RECT (); OS.SendMessage (handle, OS.TCM_ADJUSTRECT, 0, insetRect); int width = insetRect.left - insetRect.right; int count = (int)/*64*/OS.SendMessage (handle, OS.TCM_GETITEMCOUNT, 0, 0); if (count != 0) { OS.SendMessage (handle, OS.TCM_GETITEMRECT, count - 1, itemRect); width = Math.max (width, itemRect.right - insetRect.right); } RECT rect = new RECT (); OS.SetRect (rect, 0, 0, width, size.y); OS.SendMessage (handle, OS.TCM_ADJUSTRECT, 1, rect); int border = getBorderWidthInPixels (); rect.left -= border; rect.right += border; width = rect.right - rect.left; size.x = Math.max (width, size.x); return size; }
@Override Point computeSizeInPixels (int wHint, int hHint, boolean changed) { checkWidget (); Point size = super.computeSizeInPixels (wHint, hHint, changed); int length = text.length (); if (length != 0) { String string = fixText (false); /* * If the group has text, and the text is wider than the * client area, pad the width so the text is not clipped. */ TCHAR buffer = new TCHAR (getCodePage (), string == null ? text : string, true); int /*long*/ newFont, oldFont = 0; int /*long*/ hDC = OS.GetDC (handle); newFont = OS.SendMessage (handle, OS.WM_GETFONT, 0, 0); if (newFont != 0) oldFont = OS.SelectObject (hDC, newFont); RECT rect = new RECT (); int flags = OS.DT_CALCRECT | OS.DT_SINGLELINE; OS.DrawText (hDC, buffer, -1, rect, flags); if (newFont != 0) OS.SelectObject (hDC, oldFont); OS.ReleaseDC (handle, hDC); int offsetY = OS.COMCTL32_MAJOR >= 6 && OS.IsAppThemed () ? 0 : 1; size.x = Math.max (size.x, rect.right - rect.left + CLIENT_INSET * 6 + offsetY); } return size; }