Exemplo n.º 1
0
        protected override NWidget CreateExampleContent()
        {
            NSplitter splitter = new NSplitter();

            splitter.SplitMode   = ENSplitterSplitMode.Proportional;
            splitter.SplitFactor = 0.5;

            // Create the "Dom Tree" group box
            m_TreeView = CreateTreeView();
            m_TreeView.SelectedPathChanged += OnTreeViewSelectedPathChanged;

            NToolBar toolBar = new NToolBar();

            m_AddChildItemButton        = CreateButton(NResources.Image_Add_png, "Add Child Item");
            m_AddChildItemButton.Click += OnAddChildItemButtonClick;
            toolBar.Items.Add(m_AddChildItemButton);

            m_RemoveSelectedItemButton        = CreateButton(NResources.Image_Delete_png, "Remove Selected Item");
            m_RemoveSelectedItemButton.Click += OnRemoveSelectedItemButtonClick;
            toolBar.Items.Add(m_RemoveSelectedItemButton);

            toolBar.Items.Add(new NCommandBarSeparator());

            m_AddAttributeButton        = CreateButton(NResources.Image_Add_png, "Add Attribute");
            m_AddAttributeButton.Click += OnAddAttributeButtonClick;
            toolBar.Items.Add(m_AddAttributeButton);

            m_RemoveAttributeButton        = CreateButton(NResources.Image_Delete_png, "Remove Attribute");
            m_RemoveAttributeButton.Click += OnRemoveAttributeButtonClick;
            toolBar.Items.Add(m_RemoveAttributeButton);

            toolBar.Items.Add(new NCommandBarSeparator());

            m_SerializeButton         = CreateButton(NResources.Image__16x16_Contacts_png, "Serialize");
            m_SerializeButton.Enabled = true;
            m_SerializeButton.Click  += OnSerializeButtonClick;
            toolBar.Items.Add(m_SerializeButton);

            NPairBox pairBox = new NPairBox(m_TreeView, toolBar, ENPairBoxRelation.Box1AboveBox2);

            pairBox.FillMode       = ENStackFillMode.First;
            pairBox.FitMode        = ENStackFitMode.First;
            pairBox.Spacing        = NDesign.VerticalSpacing;
            splitter.Pane1.Content = pairBox;

            // Create the "XML output" group box
            m_XmlTextBox = new NTextBox();
            m_XmlTextBox.AcceptsEnter = true;
            m_XmlTextBox.AcceptsTab   = true;
            m_XmlTextBox.Multiline    = true;
            m_XmlTextBox.WordWrap     = false;
            m_XmlTextBox.VScrollMode  = ENScrollMode.WhenNeeded;
            m_XmlTextBox.HScrollMode  = ENScrollMode.WhenNeeded;
            splitter.Pane2.Content    = m_XmlTextBox;

            // Select the "Document" tree view item
            m_TreeView.SelectedItem = DocumentItem;

            return(splitter);
        }
        protected override NWidget CreateExampleContent()
        {
            m_TreeView = new NTreeView();
            m_TreeView.SelectedPathChanged += OnTreeViewSelectedPathChanged;

            m_ResourcesMap = new NMap <NTreeViewItem, NEmbeddedResourceContainer>();
            m_TreeView.Items.Add(CreateRootItem(Nevron.Nov.Presentation.NResources.Instance));
            m_TreeView.Items.Add(CreateRootItem(Nevron.Nov.Diagram.NResources.Instance));
            m_TreeView.Items.Add(CreateRootItem(Nevron.Nov.Text.NResources.Instance));
            m_TreeView.Items.Add(CreateRootItem(Nevron.Nov.Schedule.NResources.Instance));
            m_TreeView.Items.Add(CreateRootItem(Nevron.Nov.Grid.NResources.Instance));

            // Create a data table
            m_DataTable = new NMemoryDataTable();
            m_DataTable.AddField(new NFieldInfo("Image", typeof(NImage)));
            m_DataTable.AddField(new NFieldInfo("Name", typeof(string)));
            m_DataTable.AddField(new NFieldInfo("Size", typeof(string)));
            m_DataTable.AddField(new NFieldInfo("Action", typeof(string)));

            // Create a grid view
            m_GridView = new NTableGridView();
            m_GridView.GroupingPanel.Visibility = ENVisibility.Collapsed;
            m_GridView.ReadOnly = true;

            NTableGrid tableGrid = m_GridView.Grid;

            tableGrid.AlternatingRows    = false;
            tableGrid.RowHeaders.Visible = false;
            tableGrid.AutoCreateColumn  += OnGridAutoCreateColumn;
            tableGrid.DataSource         = new NDataSource(m_DataTable);

            NSplitter splitter = new NSplitter(m_TreeView, m_GridView, ENSplitterSplitMode.OffsetFromNearSide, 200);

            return(splitter);
        }
Exemplo n.º 3
0
        private void OnTreeViewItemMouseDown(NMouseButtonEventArgs arg)
        {
            if (arg.Cancel || arg.Button != ENMouseButtons.Right)
            {
                return;
            }

            // Mark the event as handled
            arg.Cancel = true;

            // Get the right clicked tree view item
            NTreeViewItem item = (NTreeViewItem)arg.CurrentTargetNode;

            // Create the context menu
            NMenu     contextMenu         = new NMenu();
            NMenuItem copyLinkToClipboard = new NMenuItem("Copy link to clipboard");

            copyLinkToClipboard.Click += OnCopyLinkToClipboardClick;
            copyLinkToClipboard.Tag    = item.Tag;
            contextMenu.Items.Add(copyLinkToClipboard);

            // Show the context menu
            NSplitter splitter = (NSplitter)m_TreeView.ParentNode.ParentNode;
            double    x        = splitter.X + m_TreeView.X + arg.CurrentTargetPosition.X;
            double    y        = splitter.Y + m_TreeView.Y + item.YInRootItems + arg.CurrentTargetPosition.Y;

            NPopupWindow.OpenInContext(new NPopupWindow(contextMenu), m_TreeView, new NPoint(x, y));
        }
Exemplo n.º 4
0
        /// <summary>
        /// Default constructor.
        /// </summary>
        public NExampleHost()
        {
            // Create the main menu
            NMenuBar mainMenu = CreateMainMenu();

            Add(mainMenu, ENDockArea.Top);

            // Create the example toolbar
            m_Toolbar = CreateToolbar();
            Add(m_Toolbar, ENDockArea.Top);

            // Create the status bar
            NStatusBar statusBar = new NStatusBar();

            m_StatusLabel = new NLabel();
            statusBar.Items.Add(m_StatusLabel);
            Add(statusBar, ENDockArea.Bottom);

            // Create the example splitter and tree view
            m_Splitter             = new NSplitter();
            m_Splitter.SplitMode   = ENSplitterSplitMode.OffsetFromNearSide;
            m_Splitter.SplitOffset = TreeViewPaneWidth;
            Add(m_Splitter, ENDockArea.Center);

            m_TreeView = new NTreeView();
            m_TreeView.SelectedPathChanged += OnTreeViewSelectedPathChanged;
            m_Splitter.Pane1.Content        = m_TreeView;
        }
Exemplo n.º 5
0
        protected override NWidget CreateExampleContent()
        {
            NSplitter splitter = new NSplitter();

            splitter.SplitMode   = ENSplitterSplitMode.Proportional;
            splitter.SplitFactor = 0.5;

            // Create the command bars manager and the rich text
            NWidget panel = base.CreateExampleContent();

            // Stack the command bar manager and an export button
            NButton exportButton = new NButton("Export");

            exportButton.Content.HorizontalPlacement = ENHorizontalPlacement.Center;
            exportButton.Click += OnExportButtonClick;

            splitter.Pane1.Content = CreatePairBox(panel, exportButton);

            // Create the HTML rich text box
            m_HtmlTextBox = new NTextBox();
            m_HtmlTextBox.AcceptsEnter = true;
            m_HtmlTextBox.AcceptsTab   = true;
            m_HtmlTextBox.Multiline    = true;
            m_HtmlTextBox.WordWrap     = false;
            m_HtmlTextBox.VScrollMode  = ENScrollMode.WhenNeeded;
            m_HtmlTextBox.HScrollMode  = ENScrollMode.WhenNeeded;
            m_HtmlTextBox.ReadOnly     = true;
            splitter.Pane2.Content     = new NGroupBox("Exported HTML", m_HtmlTextBox);

            return(splitter);
        }
Exemplo n.º 6
0
        protected override NWidget CreateExampleContent()
        {
            NSplitter splitter = new NSplitter();

            splitter.SplitMode   = ENSplitterSplitMode.Proportional;
            splitter.SplitFactor = 0.5;

            // Create the "HTML Code" group box
            m_HtmlTextBox = new NTextBox();
            m_HtmlTextBox.AcceptsEnter = true;
            m_HtmlTextBox.AcceptsTab   = true;
            m_HtmlTextBox.Multiline    = true;
            m_HtmlTextBox.WordWrap     = false;
            m_HtmlTextBox.VScrollMode  = ENScrollMode.WhenNeeded;
            m_HtmlTextBox.HScrollMode  = ENScrollMode.WhenNeeded;

            NButton importButton = new NButton("Import");

            importButton.Content.HorizontalPlacement = ENHorizontalPlacement.Center;
            importButton.Click += new Function <NEventArgs>(OnImportButtonClick);

            NPairBox pairBox = CreatePairBox(m_HtmlTextBox, importButton);

            splitter.Pane1.Content = new NGroupBox("HTML Code", pairBox);

            // Create the "Preview" group box
            m_PreviewRichText                 = new NRichTextView();
            m_PreviewRichText.ReadOnly        = true;
            m_PreviewRichText.DocumentLoaded += OnRichTextDocumentLoaded;
            splitter.Pane2.Content            = new NGroupBox("Preview", m_PreviewRichText);

            return(splitter);
        }
Exemplo n.º 7
0
        protected override NWidget CreateExampleContent()
        {
            // create a library browser that displays all predefined shape factories
            m_LibraryBrowser = new NLibraryBrowser();
            m_LibraryBrowser.AddPredefinedShapeFactories();
            m_LibraryBrowser.NavigationBar.SelectedIndex = 2;
            m_LibraryBrowser.LibraryViewType             = ENLibraryViewType.Thumbnails;
            m_LibraryBrowser.LibrariesFolder             = @"E:\Nevron.MyDrawClipartTest\LibrariesNDX";

            // create pan and zoom
            m_PanAndZoom = new NPanAndZoomView();
            m_PanAndZoom.PreferredSize = new Nov.Graphics.NSize(150, 150);

            // create side bar
            m_SideBar = new NSideBar();

            // create a drawing view
            m_DrawingView = new NDrawingView();
            m_DrawingView.HorizontalPlacement = ENHorizontalPlacement.Fit;
            m_DrawingView.VerticalPlacement   = ENVerticalPlacement.Fit;
            m_DrawingDocument = m_DrawingView.Document;

            // bind components to drawing view
            m_LibraryBrowser.DrawingView = m_DrawingView;
            m_PanAndZoom.DrawingView     = m_DrawingView;
            m_SideBar.DrawingView        = m_DrawingView;

            // create splitters
            NSplitter libraryPanSplitter = new NSplitter();

            libraryPanSplitter.Orientation   = ENHVOrientation.Vertical;
            libraryPanSplitter.SplitMode     = ENSplitterSplitMode.OffsetFromFarSide;
            libraryPanSplitter.Pane1.Content = m_LibraryBrowser;
            libraryPanSplitter.Pane2.Content = m_PanAndZoom;

            NSplitter leftSplitter = new NSplitter();

            leftSplitter.Orientation   = ENHVOrientation.Horizontal;
            leftSplitter.SplitMode     = ENSplitterSplitMode.OffsetFromNearSide;
            leftSplitter.SplitOffset   = 370;
            leftSplitter.Pane1.Content = libraryPanSplitter;
            leftSplitter.Pane2.Content = m_DrawingView;

            NSplitter rightSplitter = new NSplitter();

            rightSplitter.Orientation   = ENHVOrientation.Horizontal;
            rightSplitter.SplitMode     = ENSplitterSplitMode.OffsetFromFarSide;
            rightSplitter.SplitOffset   = 370;
            rightSplitter.Pane1.Content = leftSplitter;
            rightSplitter.Pane2.Content = m_SideBar;

            // Create the ribbon UI
            NDiagramRibbonBuilder builder = new NDiagramRibbonBuilder();

            return(builder.CreateUI(rightSplitter, m_DrawingView));
        }
Exemplo n.º 8
0
        protected override NWidget CreateExampleContent()
        {
            Array predefinedCursors = NEnum.GetValues(typeof(ENPredefinedCursor));

            NStackPanel stack = new NStackPanel();

            NGroupBox predefinedGroupBox = new NGroupBox("Predefined");

            stack.Add(predefinedGroupBox);

            NSplitter splitter = new NSplitter();

            splitter.SplitMode         = ENSplitterSplitMode.Proportional;
            splitter.SplitFactor       = 0.5d;
            predefinedGroupBox.Content = splitter;

            for (int i = 0; i < 2; i++)
            {
                NStackPanel pstack = new NStackPanel();
                pstack.VerticalSpacing = 1;
                switch (i)
                {
                case 0:
                    splitter.Pane1.Content = new NGroupBox("Use Native If Possible", pstack);
                    break;

                case 1:
                    splitter.Pane2.Content = new NGroupBox("Use Built-In", pstack);
                    break;

                default:
                    throw new Exception("More cases?");
                }

                for (int j = 0; j < predefinedCursors.Length; j++)
                {
                    ENPredefinedCursor predefinedCursor = (ENPredefinedCursor)predefinedCursors.GetValue(j);
                    NWidget            element          = CreateDemoElement(NStringHelpers.InsertSpacesBeforeUppersAndDigits(predefinedCursor.ToString()));
                    element.Cursor = new NCursor(predefinedCursor, i == 0);
                    pstack.Add(element);
                }
            }

            NWidget customElement = CreateDemoElement("Custom");

            customElement.Cursor = NResources.Cursor_CustomCursor_cur;

            NGroupBox customGroupBox = new NGroupBox("Custom", customElement);

            stack.Add(customGroupBox);

            return(stack);
        }
Exemplo n.º 9
0
        /// <summary>
        /// Creates the example content, controls and description.
        /// </summary>
        public virtual void Initialize()
        {
            m_SourceCodeHolder = new NContentHolder();
            NWidget content  = CreateExampleContent();
            NWidget controls = CreateExampleControls();

            NSplitter mainSplitter = new NSplitter();

            mainSplitter.Orientation = ENHVOrientation.Vertical;
            mainSplitter.SplitMode   = ENSplitterSplitMode.OffsetFromFarSide;
            mainSplitter.SplitOffset = 150;

            // create the description group, which is the master in the first split
            mainSplitter.Pane2.Content = CreateExampleDescription();

            // create the example tab control
            NTab exampleTab = new NTab();

            exampleTab.SelectedIndexChanged += OnExampleTabSelectedIndexChanged;
            m_ExampleTabPage = new NTabPage("Example", content);
            exampleTab.TabPages.Add(m_ExampleTabPage);
            exampleTab.TabPages.Add(new NTabPage("Source", m_SourceCodeHolder));

            if (controls != null)
            {
                // create the second split, which is the slave of the first slit
                NSplitter exampleSplitter = new NSplitter();
                exampleSplitter.SplitOffset = 300;
                exampleSplitter.SplitMode   = ENSplitterSplitMode.OffsetFromFarSide;
                mainSplitter.Pane1.Content  = exampleSplitter;

                // create the control group, which is the slave in the second split
                NGroupBox controlGroup = new NGroupBox("Controls", controls);
                exampleSplitter.Pane2.Content = controlGroup;

                // set the example tab control as the slave in the second split
                exampleSplitter.Pane1.Content = exampleTab;
            }
            else
            {
                mainSplitter.Pane1.Content = exampleTab;
            }

            Content = mainSplitter;
        }
Exemplo n.º 10
0
        /// <summary>
        /// Called when a theme menu item is clicked -> applies the specified theme
        /// </summary>
        /// <param name="arg1"></param>
        private void OnThemeMenuItemClick(NEventArgs arg1)
        {
            NCheckableMenuItem item = (NCheckableMenuItem)arg1.CurrentTargetNode;

            if (item.Tag is NTheme)
            {
                NApplication.ApplyTheme((NTheme)item.Tag);

                // Update the current theme menu item and check it
                m_CurrentThemeMenuItem.Checked = false;
                item.Checked           = true;
                m_CurrentThemeMenuItem = item;

                // Resize the right panel if the theme is in touch mode.
                NExampleBase exampleBase = m_Splitter.Pane2.Content as NExampleBase;
                if (exampleBase == null)
                {
                    return;
                }

                NSplitter splitter = exampleBase.Content as NSplitter;
                if (splitter == null)
                {
                    return;
                }

                NSplitter exampleSplitter = splitter.Pane1.Content as NSplitter;
                if (exampleSplitter == null)
                {
                    return;
                }

                bool touchMode = NApplication.Desktop.TouchMode;
                exampleSplitter.SplitOffset = touchMode ? 450 : 300;
            }
            else
            {
                throw new Exception("Clicked menu item not a theme?");
            }
        }
Exemplo n.º 11
0
        protected override NWidget CreateExampleContent()
        {
            // Create a splitter
            m_Splitter = new NSplitter();

            m_Splitter.Pane1.Content         = new NLabel("Pane 1");
            m_Splitter.Pane1.Padding         = new NMargins(NDesign.HorizontalSpacing, NDesign.VerticalSpacing);
            m_Splitter.Pane1.BackgroundFill  = new NColorFill(NColor.LightGreen);
            m_Splitter.Pane1.Border          = NBorder.CreateFilledBorder(NColor.Black);
            m_Splitter.Pane1.BorderThickness = new NMargins(1);

            m_Splitter.Pane2.Content         = new NLabel("Pane 2");
            m_Splitter.Pane2.Padding         = new NMargins(NDesign.HorizontalSpacing, NDesign.VerticalSpacing);
            m_Splitter.Pane2.BackgroundFill  = new NColorFill(NColor.LightBlue);
            m_Splitter.Pane2.Border          = NBorder.CreateFilledBorder(NColor.Black);
            m_Splitter.Pane2.BorderThickness = new NMargins(1);

            m_Splitter.ResizeStep = 20;

            // Host it
            return(m_Splitter);
        }
Exemplo n.º 12
0
        protected override NWidget CreateExampleContent()
        {
            NSplitter splitter = new NSplitter();

            splitter.SplitMode   = ENSplitterSplitMode.Proportional;
            splitter.SplitFactor = 0.5;

            // Create the "XML content" group box
            NStackPanel stack = new NStackPanel();

            stack.FitMode         = ENStackFitMode.First;
            stack.FillMode        = ENStackFillMode.First;
            stack.VerticalSpacing = NDesign.VerticalSpacing;

            m_XmlTextBox = new NTextBox();
            m_XmlTextBox.AcceptsEnter = true;
            m_XmlTextBox.AcceptsTab   = true;
            m_XmlTextBox.Multiline    = true;
            m_XmlTextBox.WordWrap     = false;
            m_XmlTextBox.VScrollMode  = ENScrollMode.WhenNeeded;
            m_XmlTextBox.HScrollMode  = ENScrollMode.WhenNeeded;
            m_XmlTextBox.Text         = SampleXml;
            stack.Add(m_XmlTextBox);

            NButton parseButton = new NButton("Parse");

            parseButton.Content.HorizontalPlacement = ENHorizontalPlacement.Center;
            parseButton.Click += OnParseButtonClick;
            stack.Add(parseButton);

            splitter.Pane1.Content = new NGroupBox("XML Content", stack);

            // Create the "DOM tree" group box
            m_DomTree = new NTreeView();
            splitter.Pane2.Content = new NGroupBox("DOM Tree", m_DomTree);

            return(splitter);
        }
        protected override NWidget CreateExampleControls()
        {
            NStackPanel stack = new NStackPanel();

            stack.FitMode  = ENStackFitMode.First;
            stack.FillMode = ENStackFillMode.First;

            // Create the opened windows tree view
            m_TreeView = new NTreeView();
            m_TreeView.SelectedPathChanged += new Function <NValueChangeEventArgs>(OnTreeViewSelectedPathChanged);
            stack.Add(m_TreeView);

            // create some command buttons
            m_ButtonsStack = new NStackPanel();
            m_ButtonsStack.HorizontalSpacing = 3;
            m_ButtonsStack.Direction         = ENHVDirection.LeftToRight;
            m_ButtonsStack.Add(new NButton(ActivateButtonText));
            m_ButtonsStack.Add(new NButton(FocusButtonText));
            m_ButtonsStack.Add(new NButton(CloseButtonText));

            // capture the button click for the buttons at stack panel level
            m_ButtonsStack.AddEventHandler(NButton.ClickEvent, new NEventHandler <NEventArgs>(new Function <NEventArgs>(OnWindowActionButtonClicked)));

            m_ButtonsStack.Enabled = false;
            stack.Add(m_ButtonsStack);

            NGroupBox openedWindowsGroupBox = new NGroupBox("Opened Windows", stack);

            // Add the events log
            m_EventsLog = new NExampleEventsLog();

            // Add the opened windows group box and the events log to a splitter
            NSplitter splitter = new NSplitter(openedWindowsGroupBox, m_EventsLog, ENSplitterSplitMode.OffsetFromNearSide, 250);

            splitter.Orientation = ENHVOrientation.Vertical;
            return(splitter);
        }
Exemplo n.º 14
0
        protected override NWidget CreateExampleContent()
        {
            // sources
            NGroupBox sourcesGroup = new NGroupBox("Drag Drop Sources");
            {
                NStackPanel sourcesStack = new NStackPanel();
                sourcesGroup.Content = sourcesStack;

                NContentHolder textSource1 = CreateDemoElement("Drag Source Text 1");
                NDataObject    dataObject1 = new NDataObject();
                dataObject1.SetData(NDataFormat.TextFormat, "Text string 1");
                textSource1.Tag = dataObject1;
                sourcesStack.Add(textSource1);
                textSource1.MouseDown += new Function <NMouseButtonEventArgs>(OnSourceMouseDown);

                NContentHolder textSource2 = CreateDemoElement("Drag Source Text 2");
                NDataObject    dataObject2 = new NDataObject();
                dataObject2.SetData(NDataFormat.TextFormat, "Text string 2");
                textSource2.Tag = dataObject2;
                sourcesStack.Add(textSource2);
                textSource2.MouseDown += new Function <NMouseButtonEventArgs>(OnSourceMouseDown);

                //NContentHolder widgetSource1 = CreateDemoElement("Drag Button");
                //widgetSource1.Tag = new NContentDataObject(new NButton("Widget In Drag and Drop"));
                //sourcesStack.Add(widgetSource1);
                //widgetSource1.MouseDown += new Function<NMouseEventArgs>(OnSourceMouseDown);

                //NContentHolder compositeSource1 = CreateDemoElement("Composite Data Object");
                //compositeSource1.Tag = new NCompositeDataObject(
                //    new NContentDataObject(new NButton("Widget In Drag and Drop")),
                //    new NContentDataObject("Hello there"));
                //sourcesStack.Add(compositeSource1);
                //compositeSource1.MouseDown += new Function<NMouseEventArgs>(OnSourceMouseDown);
            }

            // targets
            NGroupBox targetsGroup = new NGroupBox("Drop Targets");
            {
                NStackPanel targetsStack = new NStackPanel();
                targetsGroup.Content = targetsStack;

                NContentHolder dropTextTarget = CreateDemoElement("Drop Text On Me");
                targetsStack.Add(dropTextTarget);

                dropTextTarget.DragOver += new Function <NDragActionEventArgs>(OnDragOverTextTarget);
                dropTextTarget.DragDrop += new Function <NDragActionEventArgs>(OnDragDropTextTarget);
            }

            // create the source and targets splitter
            NSplitter splitter = new NSplitter();

            splitter.SplitMode     = ENSplitterSplitMode.Proportional;
            splitter.SplitFactor   = 0.5d;
            splitter.Pane1.Content = sourcesGroup;
            splitter.Pane2.Content = targetsGroup;

            // create the inspector on the bottom
            NGroupBox inspectorGroup = new NGroupBox("Data Object Ispector");

            NListBox inspector = new NListBox();

            inspectorGroup.Content = inspector;

            inspector.DragEnter += new Function <NDragOverChangeEventArgs>(OnInspectorDragEnter);
            inspector.DragLeave += new Function <NDragOverChangeEventArgs>(OnInspectorDragLeave);

            NStackPanel stack = new NStackPanel();

            stack.HorizontalPlacement = ENHorizontalPlacement.Fit;
            stack.VerticalPlacement   = ENVerticalPlacement.Fit;
            stack.FillMode            = ENStackFillMode.Last;
            stack.Add(splitter);
            stack.Add(inspectorGroup);

            return(stack);
        }
Exemplo n.º 15
0
        public override void Initialize()
        {
            base.Initialize();

            m_arrImages      = new Image[8];
            m_arrSmallImages = new Image[8];
            m_arrTexts       = new string[8];

            Label lb;

            Type   t    = GetType();
            string path = "Nevron.Examples.UI.WinForm.Resources.Images.NavigationPane";

            m_arrImages[0] = NResourceHelper.BitmapFromResource(t, "Mail.png", path);
            m_arrImages[1] = NResourceHelper.BitmapFromResource(t, "Calendar.png", path);
            m_arrImages[2] = NResourceHelper.BitmapFromResource(t, "Contacts.png", path);
            m_arrImages[3] = NResourceHelper.BitmapFromResource(t, "Tasks.png", path);
            m_arrImages[4] = NResourceHelper.BitmapFromResource(t, "Notes.png", path);
            m_arrImages[5] = NResourceHelper.BitmapFromResource(t, "Folders.png", path);
            m_arrImages[6] = NResourceHelper.BitmapFromResource(t, "Shortcuts.png", path);
            m_arrImages[7] = NResourceHelper.BitmapFromResource(t, "Journal.png", path);

            m_arrSmallImages[0] = NResourceHelper.BitmapFromResource(t, "MailSmall.png", path);
            m_arrSmallImages[1] = NResourceHelper.BitmapFromResource(t, "CalendarSmall.png", path);
            m_arrSmallImages[2] = NResourceHelper.BitmapFromResource(t, "ContactsSmall.png", path);
            m_arrSmallImages[3] = NResourceHelper.BitmapFromResource(t, "TasksSmall.png", path);
            m_arrSmallImages[4] = NResourceHelper.BitmapFromResource(t, "NotesSmall.png", path);
            m_arrSmallImages[5] = NResourceHelper.BitmapFromResource(t, "FoldersSmall.png", path);
            m_arrSmallImages[6] = NResourceHelper.BitmapFromResource(t, "ShortcutsSmall.png", path);
            m_arrSmallImages[7] = NResourceHelper.BitmapFromResource(t, "JournalSmall.png", path);

            m_arrTexts[0] = "Mail";
            m_arrTexts[1] = "Calendar";
            m_arrTexts[2] = "Contacts";
            m_arrTexts[3] = "Tasks";
            m_arrTexts[4] = "Notes";
            m_arrTexts[5] = "Folders List";
            m_arrTexts[6] = "Shortcuts";
            m_arrTexts[7] = "Journal";

            m_Pane      = new NNavigationPane();
            m_Pane.Dock = DockStyle.Left;

            for (int i = 0; i < 8; i++)
            {
                NNavigationPaneBand band = new NNavigationPaneBand();
                band.ContextMenu = m_ContextMenu;
                lb               = new Label();
                lb.Text          = m_arrTexts[i];
                band.TooltipText = "Sample tooltip for '" + m_arrTexts[i] + "' band";
                lb.Dock          = DockStyle.Fill;
                lb.TextAlign     = System.Drawing.ContentAlignment.MiddleCenter;
                lb.Parent        = band;

                band.Image      = m_arrImages[i];
                band.SmallImage = m_arrSmallImages[i];

                m_Pane.Controls.Add(band);

                band.Text = m_arrTexts[i];
            }

            m_Pane.Parent = this;
            m_Pane.ButtonsPreferredHeight = 96;

            NSplitter splitter = new NSplitter();

            splitter.Dock   = DockStyle.Left;
            splitter.Parent = this;
            splitter.BringToFront();

            this.optionsCommandCheck.Checked = true;
        }