public void ViewInWindow(IVidget vidget, Action onClose) { var backend = vidget.Backend; var control = backend.ToSwf(); if (control != null) { control.Dock = DockStyle.Fill; var form = new Form { FormBorderStyle = FormBorderStyle.SizableToolWindow, Icon = GdiIconery.LimadaSubWinIcon, Text = Frontend.CurrentDisplay.Info.Name + " - *" }; form.FormClosing += (s, e) => onClose(); form.Controls.Add(control); form.Show(Control.ParentForm); form.Location = Control.PointToScreen(new Point(Control.Location.X, Control.Location.Y + (Control.Height - form.Height) / 2)); //form.Height = this.Height/2; Func <Point> calcOffset = () => new Point(form.Location.X - Control.ParentForm.Location.X, form.Location.Y - Control.ParentForm.Location.Y); var offset = calcOffset(); form.LocationChanged += (s, e) => offset = calcOffset(); Control.ParentForm.LocationChanged += (s, e) => form.Location = new Point(Control.ParentForm.Location.X + offset.X, Control.ParentForm.Location.Y + offset.Y); } }
protected void AttachVidget(IVidget vidget) { vidget.GotFocus -= VidgetGotFocus; vidget.ButtonReleased -= VidgetGotFocus; vidget.GotFocus += VidgetGotFocus; vidget.ButtonReleased += VidgetGotFocus; }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { base.InitializeBackend(frontend, context); this.Frontend = (TextViewerWithToolbar)frontend; SetToolbar(this.Frontend.Toolbar); SetTextViewer(this.Frontend.TextViewer); }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { base.InitializeBackend(frontend, context); Frontend = (Vidgets.MarkdownEdit)frontend; IsEmpty = true; //Widget.KeyPressed += ToggleEditMode; }
protected virtual bool Run <T> (IVidget parent) where T : System.Windows.Forms.FileDialog, new() { if (_dialog == null) { throw new ArgumentException(); } var fileDialog = new T(); Converter.FileDialogSetValue(fileDialog, _dialog); System.Windows.Forms.Application.DoEvents(); IWin32Window owner = null; if (parent != null) { var back = parent.Backend as System.Windows.Forms.Control; if (back != null) { owner = back.FindForm(); } } var result = fileDialog.ShowDialog(); fileDialog.Dispose(); if (result == System.Windows.Forms.DialogResult.OK) { Converter.FileDialogSetValue(_dialog, fileDialog); return(true); } return(false); }
public void AttachViewer(IVidget viewer, Action onShowAction) { if (viewer == null) { return; } var backend = viewer.Backend; if (backend == null) { return; } if (backend == this.Frontend.CurrentDisplay.Backend) { Trace.WriteLine("SplitViewBackend.AttachBackend: CurrentDisplay.Backend == backend"); return; } var widget = backend.ToXwt(); var panel = AdjacentPanelOf(this.Frontend.CurrentDisplay); if (panel != null) { SetScrollingPanelContent(widget, panel); } onShowAction?.Invoke(); }
public void SetContent(IVidget value) { var backend = value.Backend.ToSwf(); if (!Control.Controls.Contains(backend)) { backend.Dock = DockStyle.Fill; Control.Controls.Add(backend); } }
/// <summary> /// Shows the dialog. /// </summary> public bool Run(IVidget parentVidget) { try { running = true; Backend.Compose(_dialog); return(Backend.Run(parentVidget)); } finally { running = false; Backend.Cleanup(); } }
protected Panel AdjacentPanelOf(IVidget vidget) { var widget = vidget.Backend.ToXwt(); if (SplitContainer.Panel1.Content.ScrollPeeledChildren().Contains(widget)) { return(SplitContainer.Panel2); } else if (SplitContainer.Panel2.Content.ScrollPeeledChildren().Contains(widget)) { return(SplitContainer.Panel1); } return(null); }
/// <summary> /// called in ContentViewManager when a ContentViewer is attached /// </summary> public void AttachViewer(IVidget viewer, Action onShowAction) { if (viewer == null) { return; } var backend = viewer.Backend; if (backend == null) { return; } var control = backend.ToSwf(); var currentDisplayBackend = this.Frontend.CurrentDisplay.ToSwf(); SplitterPanel panel = null; if (currentDisplayBackend != control) { if (SplitContainer.Panel1.Controls.Cast <Control>().Contains(currentDisplayBackend)) { panel = SplitContainer.Panel2; } else if (SplitContainer.Panel2.Controls.Cast <Control>().Contains(currentDisplayBackend)) { panel = SplitContainer.Panel1; } } else { Trace.WriteLine("SplitViewBackend.AttachBackend: currentDisplayBackend == control"); return; } if (panel != null && !panel.Controls.Cast <Control>().Contains(control)) { panel.SuspendLayout(); panel.Controls.Clear(); panel.Controls.Add(control); control.Dock = DockStyle.Fill; panel.ResumeLayout(); } if (onShowAction != null) { onShowAction(); } }
protected void VidgetGotFocus(object sender, EventArgs e) { var display = sender as IGraphSceneDisplay <IVisual, IVisualEdge>; if (display != null) { CurrentDisplay = display; return; } var vidget = sender as IVidget; if (vidget != null) { CurrentVidget = vidget; } }
public void ShowInNewWindow() { var source = CurrentDisplay ?? this.Display1; if (source == null) { return; } var graph = source.Data.Graph; var focused = source.Data.Focused; IVidget vidget = null; Action onClose = null; if (graph != null && focused != null) { using (var contentViewManager = Registry.Create <IContentViewManager> ()) { contentViewManager.IsProviderOwner = false; if (contentViewManager.IsContent(graph, focused)) { // TODO: get viewer, make a new instance of it, get the backend // if sheetviewer, use display(see down) as Viewer } } } // TODO: see above; for now we take always a VisualsDisplay { var display = new VisualsDisplay(); onClose += () => Mesh.RemoveDisplay(display); Mesh.CopyDisplayProperties(source, display); display.Data = Mesh.CreateSinkScene(graph); Mesh.AddDisplay(display); vidget = display; } Backend.ViewInWindow(vidget, onClose); }
public void ViewInWindow(IVidget vidget, Action onClose) { if (vidget != null) { var parent = SplitContainer.ParentWindow; var vindow = new Vindow(); vindow.Content = vidget; var window = vindow.Backend as Window; window.Icon = Iconerias.Iconery.SubWinIcon; window.InitialLocation = WindowLocation.Manual; window.Title = Frontend.CurrentDisplay.Info.Name + " - *"; // Decorated = false, window.Resizable = true; window.Size = new Size(parent.Size.Width / 3, parent.Size.Height / 3); window.TransientFor = parent; window.Location = new Point(this.SplitContainer.ScreenBounds.X, this.SplitContainer.ScreenBounds.Y + (this.Size.Height - window.Height) / 2); Func <Point> calcOffset = () => new Point(window.Location.X - parent.Location.X, window.Location.Y - parent.Location.Y); var offset = calcOffset(); var parentMoving = true; window.BoundsChanged += (s, e) => { if (!parentMoving) { offset = calcOffset(); } }; parent.BoundsChanged += (s, e) => { parentMoving = true; window.Location = new Point(parent.Location.X + offset.X, parent.Location.Y + offset.Y); parentMoving = false; }; window.Show(); parentMoving = false; } }
protected virtual bool Run <T> (IVidget parent) where T : FileDialog, new() { if (_dialog == null) { throw new ArgumentException(); } var fileDialog = new T(); FileDialogSetValue(_dialog, fileDialog); WindowFrame owner = null; if (parent != null) { } var result = fileDialog.Run(owner); fileDialog.Dispose(); if (result) { FileDialogSetValue(fileDialog, _dialog); } return(result); }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { base.InitializeBackend(frontend, context); Frontend = (Vidgets.WebBrowserVidget)frontend; Widget.Loaded += Widget_Loaded; }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { base.InitializeBackend(frontend, context); this.Frontend = (LVV.Toolbar)frontend; }
public virtual void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { this.Frontend = frontend; }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { base.InitializeBackend(frontend, context); Frontend = (Vidgets.PlainTextBox)frontend; }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { base.InitializeBackend(frontend, context); }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { base.InitializeBackend(frontend, context); this.Frontend = (TextViewerWithToolstrip0)frontend; }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { this.Frontend = (LVV.ToolbarButton)frontend; }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { ApplicationContext = context; this.Frontend = (Toolbar)frontend; }
void IVindowBackend.SetContent(IVidget value) { this.SetContent(value); }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { base.InitializeBackend(frontend, context); this.Frontend = (Vidgets.ComboBox)frontend; }
public virtual void SetContent(IVidget value) { Content = value.Backend.ToXwt(); }
protected void OnCurrentVidgetChanged(IVidget vidget) { CurrentVidgetChanged?.Invoke(vidget); }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { base.InitializeBackend(frontend, context); this.Frontend = (SplitView0)frontend; Compose2(); }
public override void InitializeBackend(IVidget frontend, VidgetApplicationContext context) { base.InitializeBackend(frontend, context); this.Frontend = (WebBrowserVidget)frontend; }
public abstract bool Run(IVidget parent);
public override bool Run(IVidget parent) => base.Run <SaveFileDialog> (parent);