diff options
author | Vsevolod Kukol <sevoku@microsoft.com> | 2016-09-13 16:25:37 +0300 |
---|---|---|
committer | Vsevolod Kukol <sevoku@microsoft.com> | 2016-09-13 16:25:37 +0300 |
commit | 288435a1f4ca987cf1380fbe5039f5c318a1f582 (patch) | |
tree | a79f940406320705f2aff385603d6e85b8704c0e /main/src/core | |
parent | 84b2eb122ba5a3185a68ff01890d3d086552ac70 (diff) |
[Ide] Wizard Controller can define a Wizard page size
Diffstat (limited to 'main/src/core')
3 files changed, 18 insertions, 4 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/IWizardDialogController.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/IWizardDialogController.cs index c039038656..df90c957d2 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/IWizardDialogController.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/IWizardDialogController.cs @@ -31,6 +31,7 @@ using System.ComponentModel; using System.Linq; using MonoDevelop.Components; using MonoDevelop.Core; +using Xwt; using Xwt.Drawing; namespace MonoDevelop.Ide.Gui.Wizard { @@ -53,6 +54,8 @@ namespace MonoDevelop.Ide.Gui.Wizard void GoBack (); + Size DefaultPageSize { get; } + event EventHandler Completed; } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/WizardDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/WizardDialog.cs index 54abb7affe..3b69ddb1cf 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/WizardDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/WizardDialog.cs @@ -91,14 +91,15 @@ namespace MonoDevelop.Ide.Gui.Wizard void UpdateRightSideFrame () { + var contentWidth = (Controller.DefaultPageSize.Width > 0 ? Controller.DefaultPageSize.Width : 660); var rightSideWidget = currentPage.GetRightSideWidget () ?? Controller.RightSideWidget; if (rightSideWidget != null) { rightSideFrame.Content = rightSideWidget; rightSideFrame.Visible = true; - Dialog.Width = 900; + Dialog.Width = contentWidth + RightSideWidgetWidth; } else { rightSideFrame.Visible = false; - Dialog.Width = 900 - RightSideWidgetWidth; + Dialog.Width = contentWidth; } } @@ -110,8 +111,8 @@ namespace MonoDevelop.Ide.Gui.Wizard Dialog = new Dialog (); Dialog.Name = "wizard_dialog"; - Dialog.Width = 900; - Dialog.Height = 630; + Dialog.Width = Controller.DefaultPageSize.Width > 0 ? Controller.DefaultPageSize.Width : 900; + Dialog.Height = Controller.DefaultPageSize.Height > 0 ? Controller.DefaultPageSize.Height : 630; Dialog.Resizable = false; Dialog.Padding = 0; @@ -199,6 +200,7 @@ namespace MonoDevelop.Ide.Gui.Wizard //case nameof (Controller.Icon): Dialog.Icon = Controller.Icon.WithSize (IconSize.Large); break; case nameof (Controller.CurrentPage): CurrentPage = Controller.CurrentPage; break; case nameof (Controller.RightSideWidget): UpdateRightSideFrame (); break; + case nameof (Controller.DefaultPageSize): UpdateRightSideFrame (); break; } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/WizardDialogController.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/WizardDialogController.cs index df0698a3b0..9789ef0947 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/WizardDialogController.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Wizard/WizardDialogController.cs @@ -38,6 +38,7 @@ namespace MonoDevelop.Ide.Gui.Wizard string title; Image image; Control rightSideWidget; + Xwt.Size defaultPageSize; IWizardDialogPage currentPage; ReadOnlyCollection<IWizardDialogPage> pages; @@ -65,6 +66,14 @@ namespace MonoDevelop.Ide.Gui.Wizard } } + public Xwt.Size DefaultPageSize { + get { return defaultPageSize; } + set { + defaultPageSize = value; + OnPropertyChanged (nameof (DefaultPageSize)); + } + } + public IReadOnlyCollection<IWizardDialogPage> Pages { get { return pages; } } public IWizardDialogPage CurrentPage { |