コード例 #1
0
        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);
        }
コード例 #2
0
        private static NTreeView CreateTreeView()
        {
            NTreeView treeView = new NTreeView();

            NTreeViewItem root = CreateTreeViewItem("Document");

            root.Expanded = true;
            treeView.Items.Add(root);

            NTreeViewItem book1 = CreateTreeViewItem("book");

            book1.Expanded = true;
            book1.Items.Add(CreateTreeViewItem("Author", "Gambardella, Matthew"));
            book1.Items.Add(CreateTreeViewItem("Title", "XML Developer's Guide"));
            root.Items.Add(book1);

            NTreeViewItem book2 = CreateTreeViewItem("book");

            book2.Expanded = true;
            book2.Items.Add(CreateTreeViewItem("Author", "O'Brien, Tim"));
            book2.Items.Add(CreateTreeViewItem("Title", "MSXML3: A Comprehensive Guide"));
            root.Items.Add(book2);

            return(treeView);
        }
コード例 #3
0
        private void OnTreeViewSelectedPathChanged(NValueChangeEventArgs arg)
        {
            m_DataTable.RemoveAllRows();
            m_GridView.Grid.Update();

            NTreeView     treeView     = (NTreeView)arg.CurrentTargetNode;
            NTreeViewItem selectedItem = treeView.SelectedItem;

            if (selectedItem == null)
            {
                return;
            }

            // Get the resource container and the images for the selected item
            NEmbeddedResourceContainer resourceContainer = GetResourceContainer(selectedItem);
            NList <string>             images            = GetImageNames(selectedItem);

            // Populate the stack with the images in the selected resources folder
            string containerType = resourceContainer.GetType().FullName;

            for (int i = 0; i < images.Count; i++)
            {
                string resourceName = images[i];

                string imageName = resourceName.Replace("RIMG", "Image");
                NImage image     = NImage.FromResource(resourceContainer.GetResource(resourceName));
                string imageSize = image.Width.ToString(
                    CultureInfo.InvariantCulture) +
                                   " x " +
                                   image.Height.ToString(CultureInfo.InvariantCulture);
                string code = containerType + "." + imageName;

                m_DataTable.AddRow(image, imageName, imageSize, code);
            }
        }
コード例 #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;
        }
コード例 #5
0
        protected override NWidget CreateExampleContent()
        {
            // Create the tree view
            m_TreeView = new NTreeView();
            m_TreeView.HorizontalPlacement = ENHorizontalPlacement.Left;
            // Check whether the application is in touch mode and set the width of the tree view.
            bool touchMode = NApplication.Desktop.TouchMode;

            m_TreeView.PreferredWidth = touchMode ? 300 : 200;

            // Add some items
            for (int i = 0; i < 32; i++)
            {
                NTreeViewItem l1Item = CreateTreeViewItem(String.Format("Item {0}", i));
                m_TreeView.Items.Add(l1Item);

                for (int j = 0; j < 8; j++)
                {
                    NTreeViewItem l2Item = CreateTreeViewItem(String.Format("Item {0}.{1}", i, j));
                    l1Item.Items.Add(l2Item);

                    for (int k = 0; k < 2; k++)
                    {
                        NTreeViewItem l3Item = CreateTreeViewItem(String.Format("Item {0}.{1}.{2}", i, j, k));
                        l2Item.Items.Add(l3Item);
                    }
                }
            }

            // Hook to tree view events
            m_TreeView.SelectedPathChanged += new Function <NValueChangeEventArgs>(OnTreeViewSelectedPathChanged);
            return(m_TreeView);
        }
コード例 #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="texts"></param>
        /// <param name="image"></param>
        /// <returns></returns>
        private NTreeView SetupTreeView(string[] texts, NImage image)
        {
            NTreeView treeView = new NTreeView();

            treeView.BorderThickness = new NMargins(0);
            for (int i = 0; i < texts.Length; i++)
            {
                treeView.Items.Add(CreateTreeViewItem(texts[i], (NImage)image.DeepClone()));
            }

            return(treeView);
        }
コード例 #7
0
        protected override NWidget CreateExampleContent()
        {
            m_HeaderLabel = new NLabel("File: SourceCode.zip");

            m_TreeView          = new NTreeView();
            m_TreeView.MinWidth = 300;

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

            pairBox.HorizontalPlacement = ENHorizontalPlacement.Left;
            pairBox.Spacing             = NDesign.VerticalSpacing;

            Stream sourceCodeStream = NResources.Instance.GetResourceStream("RBIN_SourceCode_zip");

            DecompressZip(sourceCodeStream);

            return(pairBox);
        }
コード例 #8
0
        private NTreeView CreateTreeView()
        {
            NTreeView treeView = new NTreeView();

            for (int i = 1; i <= 8; i++)
            {
                string        itemName = "Item " + i;
                NTreeViewItem item     = new NTreeViewItem(itemName);
                treeView.Items.Add(item);

                itemName += ".";
                for (int j = 1; j <= 3; j++)
                {
                    NTreeViewItem childItem = new NTreeViewItem(itemName + j);
                    item.Items.Add(childItem);
                }
            }

            return(treeView);
        }
コード例 #9
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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        private void OnThemeTreeViewSelectedPathChanged(NValueChangeEventArgs arg1)
        {
            NTreeView     treeView     = (NTreeView)arg1.CurrentTargetNode;
            NTreeViewItem selectedItem = treeView.SelectedItem;

            if (selectedItem == null)
            {
                return;
            }

            if (selectedItem.Tag is NTheme)
            {
                // Apply the selected theme to the document box's document
                NTheme theme = (NTheme)selectedItem.Tag;
                m_DocumentBox.Document.InheritStyleSheets = false;
                m_DocumentBox.Document.StyleSheets.ApplyTheme(theme);
            }
            else if (NStringHelpers.Equals(selectedItem.Tag, "inherit"))
            {
                // Make the document inherit its style sheets and clear all current ones
                m_DocumentBox.Document.InheritStyleSheets = true;
                m_DocumentBox.Document.StyleSheets.Clear();
            }
        }
コード例 #12
0
        /// <summary>
        /// Creates a dummy tree view, that contains the items of an imaginary Mail
        /// </summary>
        /// <returns></returns>
        private NTreeView CreateMailTreeView()
        {
            NTreeView     treeView = new NTreeView();
            NTreeViewItem rootItem = CreateTreeViewItem("Personal Folers", NResources.Image__16x16_folderHome_png);

            treeView.Items.Add(rootItem);
            string[] texts = new string[] { "Deleted Items",
                                            "Drafts",
                                            "Inbox",
                                            "Junk E-mails",
                                            "Outbox",
                                            "RSS Feeds",
                                            "Sent Items",
                                            "Search Folders" };

            NImage[] icons = new NImage[] {
                NResources.Image__16x16_folderDeleted_png,
                NResources.Image__16x16_folderDrafts_png,
                NResources.Image__16x16_folderInbox_png,
                NResources.Image__16x16_folderJunk_png,
                NResources.Image__16x16_folderOutbox_png,
                NResources.Image__16x16_folderRss_png,
                NResources.Image__16x16_folderSent_png,
                NResources.Image__16x16_folderSearch_png
            };

            for (int i = 0; i < texts.Length; i++)
            {
                rootItem.Items.Add(CreateTreeViewItem(texts[i], icons[i]));
            }

            treeView.ExpandAll(true);
            treeView.BorderThickness = new NMargins(0);

            return(treeView);
        }
コード例 #13
0
        protected override NWidget CreateExampleControls()
        {
            NTreeView testsView = CreateTestsTreeView();

            return(new NGroupBox("Predefined Examples", testsView));
        }
コード例 #14
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="args"></param>
        private void OnTreeViewSelectedPathChanged(NValueChangeEventArgs args)
        {
            NTreeView treeView = (NTreeView)args.TargetNode;

            m_ButtonsStack.Enabled = treeView.SelectedItem != null;
        }
コード例 #15
0
        protected override NWidget CreateExampleControls()
        {
            // Create the theme tree view
            NTheme        theme;
            NTreeViewItem rootItem, themeItem;
            NTreeView     themeTreeView = new NTreeView();

            // Add the "Inherit Styles" root tree view item
            rootItem     = new NTreeViewItem("Inherit Styles");
            rootItem.Tag = "inherit";
            themeTreeView.Items.Add(rootItem);
            themeTreeView.SelectedItem = rootItem;

            // Add the image based UI themes to the tree view
            rootItem          = new NTreeViewItem("Part Based");
            rootItem.Expanded = true;
            themeTreeView.Items.Add(rootItem);

            themeItem     = new NTreeViewItem("Windows XP Blue");
            themeItem.Tag = new NWindowsXPBlueTheme();
            rootItem.Items.Add(themeItem);

            themeItem     = new NTreeViewItem("Windows Aero");
            themeItem.Tag = new NWindowsAeroTheme();
            rootItem.Items.Add(themeItem);

            themeItem     = new NTreeViewItem("Windows 8");
            themeItem.Tag = new NWindows8Theme();
            rootItem.Items.Add(themeItem);

            themeItem     = new NTreeViewItem("Mac OS X 10.7 Lion");
            themeItem.Tag = new NMacLionTheme();
            rootItem.Items.Add(themeItem);

            themeItem     = new NTreeViewItem("Mac OS X 10.11 El Capitan");
            themeItem.Tag = new NMacElCapitanTheme();
            rootItem.Items.Add(themeItem);

            themeItem     = new NTreeViewItem("Nevron Dark");
            themeItem.Tag = new NNevronDarkTheme();
            rootItem.Items.Add(themeItem);

            themeItem     = new NTreeViewItem("Nevron Light");
            themeItem.Tag = new NNevronLightTheme();
            rootItem.Items.Add(themeItem);

            // Add the windows classic UI themes to the tree view
            rootItem          = new NTreeViewItem("Windows Classic");
            rootItem.Expanded = true;
            themeTreeView.Items.Add(rootItem);

            ENUIThemeScheme[] windowsClassicSchemes = NEnum.GetValues <ENUIThemeScheme>();
            for (int i = 0, count = windowsClassicSchemes.Length; i < count; i++)
            {
                ENUIThemeScheme scheme = windowsClassicSchemes[i];
                theme         = new NWindowsClassicTheme(scheme);
                themeItem     = new NTreeViewItem(NStringHelpers.InsertSpacesBeforeUppersAndDigits(scheme.ToString()));
                themeItem.Tag = theme;
                rootItem.Items.Add(themeItem);
            }

            // Subscribe to the selected path changed event
            themeTreeView.SelectedPathChanged += new Function <NValueChangeEventArgs>(OnThemeTreeViewSelectedPathChanged);

            return(themeTreeView);
        }
コード例 #16
0
 public ZipDecompressor(NTreeView treeView)
 {
     m_TreeView = treeView;
 }
コード例 #17
0
        NTreeView CreateTestsTreeView()
        {
            NTreeViewItem categoryItem, folderItem;

            NTreeView treeView = new NTreeView();

            m_TestsTreeView = treeView;

            #region Operators

            folderItem = new NTreeViewItem("Operators");
            treeView.Items.Add(folderItem);

            #region Arithmetic Operators

            categoryItem = new NTreeViewItem("Arithmetic");
            folderItem.Items.Add(categoryItem);
            CreateTestItems(categoryItem, new string[] {
                "+10",
                "-10",
                "-ARRAY(10, 12)",
                "10 ^ 2",
                "ARRAY(10, 12) ^ 2",
                "10 * 2",
                "ARRAY(10, 12) * 2",
                "10 / 2",
                "ARRAY(10, 12) / 2",
                "10 + 2",
                "ARRAY(10, 12) + 2",
                "ARRAY(10, 12) + ARRAY(12, 23)",
                "10 + \"Nevron\"",
                "10 - 2",
                "ARRAY(10, 12) - 2",
                "ARRAY(10, 12) - ARRAY(12, 23)"
            });

            #endregion

            #region Comparision Operators

            categoryItem = new NTreeViewItem("Comparision");
            folderItem.Items.Add(categoryItem);
            CreateTestItems(categoryItem, new string[] {
                "10 > 2",
                "10 < 2",
                "10 >= 2",
                "10 >= 10",
                "10 <= 2",
                "10 <= 10",
                "10 == 2",
                "10 != 2"
            });

            #endregion

            #region Logical operators

            categoryItem = new NTreeViewItem("Logical");
            folderItem.Items.Add(categoryItem);
            CreateTestItems(categoryItem, new string[] {
                "true && false",
                "true || false",
                "!true"
            });

            #endregion

            #region Bitwise operators

            categoryItem = new NTreeViewItem("Bitwise");
            folderItem.Items.Add(categoryItem);
            CreateTestItems(categoryItem, new string[] {
                "7 & 2",
                "5 | 3",
                "~1"
            });

            #endregion

            #region Assignment operators

            categoryItem = new NTreeViewItem("Assignment");
            folderItem.Items.Add(categoryItem);
            CreateTestItems(categoryItem, new string[] {
                "a=5; b=3; a+b;",
                "a=5; a+=3",
                "a=5; a-=3"
            });

            #endregion

            #endregion

            #region Functions

            folderItem = new NTreeViewItem("Functions");
            treeView.Items.Add(folderItem);

            #region Bitwise

            categoryItem = new NTreeViewItem("Bitwise");
            folderItem.Items.Add(categoryItem);
            CreateTestItems(categoryItem, new string[] {
                "BITAND(7,2)",
                "BITNOT(1)",
                "BITOR(5,3)",
                "BITXOR(5,3)",
            });

            #endregion

            #region Logical

            categoryItem = new NTreeViewItem("Logical");
            folderItem.Items.Add(categoryItem);
            CreateTestItems(categoryItem, new string[] {
                "AND(true, false)",
                "AND(true, false)",
                "IF(true, 2, 10)",
                "IF(false, 2, 10)",
                "NOT(true)",
                "OR(true, false)",
            });

            #endregion

            #region Mathematical

            categoryItem = new NTreeViewItem("Mathematical");
            folderItem.Items.Add(categoryItem);
            CreateTestItems(categoryItem, new string[] {
                "ABS(-2.5)",
                "CEILING(1.7)",
                "CEILING(1.7, 0.25)",
                "FLOOR(1.7)",
                "FLOOR(1.7, 0.25)",
                "INT(1.2)",
                "INT(-1.2)",
                "INTUP(1.2)",
                "INTUP(-1.2)",
                "LN(10)",
                "LOG10(10)",
                "MAGNITUDE(3, 4)",
                "MAX(1, 3, 2)",
                "MIN(1, 3, 2)",
                "MOD(5, 1.4)",
                "MOD(5, -1.4)",
                "POW(10, 2)",
                "ROUND(123.654,2)",
                "ROUND(123.654,0)",
                "ROUND(123.654,-1)",
                "SIGN(-10)",
                "SIGN(0)",
                "SQRT(4)",
                "SUM(1,2,3)",
                "TRUNC(123.654,2)",
                "TRUNC(123.654,0)",
                "TRUNC(123.654,-1)",
            });

            #endregion

            #region Text

            categoryItem = new NTreeViewItem("Text");
            folderItem.Items.Add(categoryItem);
            CreateTestItems(categoryItem, new string[] {
                "CHAR(9)",
                "LEN(\"Hello World\")",
                "LOWER(\"Hello World\")",
                "STRSAME(\"Hello\", \"hello\")",
                "STRSAME(\"Hello\", \"hello\", true)",
                "TRIM(\" Hello World \")",
                "UPPER(\"Hello World\")",
                "INDEX(0,\"Hello;World\")",
            });

            #endregion

            #region Trigonometrical

            NTreeViewItem trigonometrical = new NTreeViewItem("Trigonometrical");
            folderItem.Items.Add(trigonometrical);
            CreateTestItems(trigonometrical, new string[] {
                "ACOS(0)",
                "ANG360(1.4 + 2 * PI())",
                "ASIN(1)",
                "ATAN2(1,1)",
                "ATAN2(1,SQRT(3))",
                "ATAN(1)",
                "COS(0)",
                "COSH(PI()/4)",
                "PI()",
                "SIN(0)",
                "SINH(PI()/4)",
                "TAN(PI()/4)",
                "TANH(-PI()/4)"
            });

            #endregion

            #region Type

            NTreeViewItem type = new NTreeViewItem("Type");
            folderItem.Items.Add(type);
            CreateTestItems(type, new string[] {
                "EMPTY()",
                "ISARRAY(ARRAY(10,20))",
                "ISARRAY(10)",
                "ISBOOL(true)",
                "ISBOOL(false)",
                "ISBOOL(\"true\")",
                "ISDATETIME(10)",
                "ISDATETIME(DATETIME(2008,9,15))",
                "ISEMPTY(EMPTY())",
                "ISEMPTY(true)",
                "ISMEASURE(10[mm])",
                "ISMEASURE(10)",
                "ISNUM(10)",
                "ISNUM(true)",
                "ISSTR(true)",
                "ISSTR(\"hello world\")",
                "TOBOOL(\"false\")",
                "TOBOOL(\"true\")",
                "TOBOOL(\"hello\")",
                "TODATETIME(\"2008-09-15 09:30:41.770\")",
                "TONUM(true)",
                "TONUM(\"10\")",
                "TONUM(\"hello\")",
                "TOSTR(10)"
            });

            #endregion

            #endregion

            treeView.ExpandAll(true);
            treeView.SelectedPathChanged += new Function <NValueChangeEventArgs>(OnTestsTreeViewSelectedPathChanged);

            return(treeView);
        }