+2008-07-11 George Giolfan <georgegiolfan@yahoo.com>
+
+ * InternalWindowManager.cs: HandleSizing: Implemented a better minimum
+ tracking size for tool windows.
+ * Theme.cs, ThemeWin32Classic.cs : Extracted
+ ManagedWindowSpacingAfterLastTitleButton.
+
2008-07-11 Jonathan Pobst <monkey@jpobst.com>
* ThemeEngine.cs: Remove the clearlooks, nice, and old gtk themes.
private void HandleSizing (Message m)
{
Rectangle pos = virtual_position;
- Size minimum_size = SystemInformation.MinWindowTrackSize;
- int mw = minimum_size.Width;
- int mh = minimum_size.Height;
+ int mw;
+ int mh;
+ if (IsToolWindow) {
+ int border_width = BorderWidth;
+ mw = 2 * (border_width + Theme.ManagedWindowSpacingAfterLastTitleButton) + ThemeEngine.Current.ManagedWindowButtonSize (this).Width;
+ mh = 2 * border_width + TitleBarHeight;
+ } else {
+ Size minimum_size = SystemInformation.MinWindowTrackSize;
+ mw = minimum_size.Width;
+ mh = minimum_size.Height;
+ }
int x = Cursor.Position.X;
int y = Cursor.Position.Y;
public abstract bool ManagedWindowTitleButtonHasHotElementStyle (TitleButton button, Form form);
public abstract void ManagedWindowDrawMenuButton (Graphics dc, TitleButton button, Rectangle clip, InternalWindowManager wm);
public abstract void ManagedWindowOnSizeInitializedOrChanged (Form form);
+ public const int ManagedWindowSpacingAfterLastTitleButton = 2;
#endregion
#region ControlPaint Methods
int btw = btsize.Width;
int bth = btsize.Height;
int top = bw + 2;
- int left = form.Width - bw - btw - 2;
+ int left = form.Width - bw - btw - ManagedWindowSpacingAfterLastTitleButton;
if ((!wm.IsToolWindow || wm.IsMinimized) && wm.HasBorders) {
buttons.CloseButton.Rectangle = new Rectangle (left, top, btw, bth);