static void Main() { #if TRACE System.Diagnostics.TextWriterTraceListener listener = new System.Diagnostics.TextWriterTraceListener (System.Console.Out); System.Diagnostics.Trace.Listeners.Add (listener); #endif Application.Init (); #region Packing and layout Window window = new Window ("AspNetEdit Host Sample"); window.SetDefaultSize (1000, 700); window.DeleteEvent += new DeleteEventHandler (window_DeleteEvent); VBox outerBox = new VBox (); window.Add (outerBox); HPaned leftBox = new HPaned (); outerBox.PackEnd (leftBox, true, true, 0); HPaned rightBox = new HPaned (); leftBox.Add2 (rightBox); geckoFrame = new Frame (); geckoFrame.Shadow = ShadowType.In; rightBox.Pack1 (geckoFrame, true, false); #endregion #region Toolbar // * Save/Open Toolbar buttons = new Toolbar (); outerBox.PackStart (buttons, false, false, 0); ToolButton saveButton = new ToolButton (Stock.Save); buttons.Add (saveButton); saveButton.Clicked += new EventHandler (saveButton_Clicked); ToolButton openButton = new ToolButton(Stock.Open); buttons.Add(openButton); openButton.Clicked += new EventHandler(openButton_Clicked); buttons.Add (new SeparatorToolItem()); // * Clipboard ToolButton undoButton = new ToolButton (Stock.Undo); buttons.Add (undoButton); undoButton.Clicked +=new EventHandler (undoButton_Clicked); ToolButton redoButton = new ToolButton (Stock.Redo); buttons.Add (redoButton); redoButton.Clicked += new EventHandler (redoButton_Clicked); ToolButton cutButton = new ToolButton (Stock.Cut); buttons.Add (cutButton); cutButton.Clicked += new EventHandler (cutButton_Clicked); ToolButton copyButton = new ToolButton (Stock.Copy); buttons.Add (copyButton); copyButton.Clicked += new EventHandler (copyButton_Clicked); ToolButton pasteButton = new ToolButton (Stock.Paste); buttons.Add (pasteButton); pasteButton.Clicked += new EventHandler (pasteButton_Clicked); buttons.Add (new SeparatorToolItem()); // * Text style ToolButton boldButton = new ToolButton (Stock.Bold); buttons.Add (boldButton); boldButton.Clicked += new EventHandler (boldButton_Clicked); ToolButton italicButton = new ToolButton (Stock.Italic); buttons.Add (italicButton); italicButton.Clicked += new EventHandler (italicButton_Clicked); ToolButton underlineButton = new ToolButton (Stock.Underline); buttons.Add (underlineButton); underlineButton.Clicked += new EventHandler (underlineButton_Clicked); ToolButton indentButton = new ToolButton (Stock.Indent); buttons.Add (indentButton); indentButton.Clicked += new EventHandler (indentButton_Clicked); ToolButton unindentButton = new ToolButton (Stock.Unindent); buttons.Add (unindentButton); unindentButton.Clicked += new EventHandler (unindentButton_Clicked); buttons.Add (new SeparatorToolItem()); // * Toolbox ToolButton toolboxAddButton = new ToolButton (Stock.Add); buttons.Add (toolboxAddButton); toolboxAddButton.Clicked += new EventHandler (toolboxAddButton_Clicked); #endregion #region Designer services and host //set up the services ServiceContainer services = new ServiceContainer (); services.AddService (typeof (INameCreationService), new NameCreationService ()); services.AddService (typeof (ISelectionService), new SelectionService ()); services.AddService (typeof (IEventBindingService), new EventBindingService (window)); services.AddService (typeof (ITypeResolutionService), new TypeResolutionService ()); ExtenderListService extListServ = new AspNetEdit.Editor.ComponentModel.ExtenderListService (); services.AddService (typeof (IExtenderListService), extListServ); services.AddService (typeof (IExtenderProviderService), extListServ); services.AddService (typeof (ITypeDescriptorFilterService), new TypeDescriptorFilterService ()); toolboxService = new ToolboxService (); services.AddService (typeof (IToolboxService), toolboxService); //create our host host = new DesignerHost(services); host.NewFile(); host.Activate(); #endregion #region Designer UI and panels IRootDesigner rootDesigner = (IRootDesigner) host.GetDesigner (host.RootComponent); RootDesignerView designerView = (RootDesignerView) rootDesigner.GetView (ViewTechnology.Passthrough); geckoFrame.Add (designerView); PropertyGrid p = new PropertyGrid (services); p.WidthRequest = 200; rightBox.Pack2 (p, false, false); Toolbox toolbox = new Toolbox (services); leftBox.Pack1 (toolbox, false, false); toolboxService.PopulateFromAssembly (System.Reflection.Assembly.GetAssembly (typeof (System.Web.UI.Control))); toolboxService.AddToolboxItem (new TextToolboxItem ("<table><tr><td></td><td></td></tr><tr><td></td><td></td></tr></table>", "Table"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<div style=\"width: 100px; height: 100px;\"></div>", "Div"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<hr />", "Horizontal Rule"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<select><option></option></select>", "Select"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<img src=\"\" />", "Image"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<textarea cols=\"20\" rows=\"2\"></textarea>", "Textarea"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<input type=\"hidden\" />", "Input [Hidden]"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<input type=\"radio\" />", "Input [Radio]"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<input type=\"checkbox\" />", "Input [Checkbox]"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<input type=\"password\" />", "Input [Password]"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<input type=\"file\" />", "Input [File]"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<input type=\"text\" />", "Input [Text]"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<input type=\"submit\" value=\"submit\" />", "Input [Submit]"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<input type=\"reset\" value=\"reset\" />", "Input [Reset]"), "Html"); toolboxService.AddToolboxItem (new TextToolboxItem ("<input type=\"button\" value=\"button\" />", "Input [Button]"), "Html"); toolbox.Refresh (); #endregion window.ShowAll (); Application.Run (); }