コード例 #1
0
        public ContentBrowserOptionsForm(ContentBrowser browser)
        {
            Browser = browser;

            InitializeComponent();

            EditorThemeUtility.ApplyDarkThemeToForm(this);

            Text = EditorLocalization.Translate("ContentBrowser", Text);
            EditorLocalization.TranslateForm("ContentBrowser", this);

            hierarchicalContainer1.OverridePropertyDisplayName += HierarchicalContainer1_PropertyDisplayNameOverride;
            hierarchicalContainer1.OverridePropertyEnumItem    += HierarchicalContainer1_OverridePropertyEnumItem;

            if (EditorLocalization.WideLanguage)
            {
                hierarchicalContainer1.SplitterRatio = 0.5f;
            }

            if (Browser != null)
            {
                object[] objects = new object[1];
                objects[0] = Browser.Options;
                hierarchicalContainer1.SetData(null, objects);

                //fix delayed update
                hierarchicalContainer1.UpdateItems();
            }
        }
コード例 #2
0
        //[Browsable( false )]
        //public DocumentWindow DocumentWindow
        //{
        //	get { return documentWindow; }
        //}

        //[Browsable( false )]
        //public object RootObject
        //{
        //	get { return rootObject; }
        //}

        private void objectsBrowser1_ItemAfterSelect(ContentBrowser sender, IList <ContentBrowser.Item> items, bool selectedByUser, ref bool handled)
        {
            //!!!!
            //selectedNode.SetMultiSelected( true, false );

            var selectObjects = new List <object>();

            foreach (var item in items)
            {
                if (item is ContentBrowserItem_Component)                 //|| node.item is ContentBrowserItem_NoSpecialization )
                {
                    if (item.ContainedObject != null)
                    {
                        selectObjects.Add(item.ContainedObject);
                    }
                }
            }

            if (selectObjects.Count == 0)
            {
                selectObjects.Add(ObjectOfWindow);
            }

            SelectObjects(selectObjects);              //, this );

            if (Document != null && Document.SpecialMode == "ProjectSettingsUserMode")
            {
                if (items.Count == 1)
                {
                    projectSettingsUserModeLastSelectedTab = items[0].Text;
                }
                //else
                //	projectSettingsUserModeLastSelectedTab = "";
            }
        }
コード例 #3
0
        private void Browser_ItemAfterSelect(ContentBrowser sender, IList <ContentBrowser.Item> items, bool selectedByUser, ref bool handled)
        {
            if (selectedByUser)
            {
                var selectObjects = new List <object>();

                foreach (var item in items)
                {
                    var documentWindow = item.Owner.DocumentWindow;
                    if (documentWindow != null)
                    {
                        var panel = GetPanel(documentWindow);
                        if (panel != null)
                        {
                            var componentItem = item as ContentBrowserItem_Component;
                            if (componentItem != null)
                            {
                                selectObjects.Add(componentItem.Component);
                            }
                        }
                    }
                }

                sender.DocumentWindow?.SelectObjects(selectObjects, false);
            }
        }
コード例 #4
0
 private void Browser_ItemAfterSelect(ContentBrowser sender, IList <ContentBrowser.Item> items, bool selectedByUser, ref bool handled)
 {
     if (selectedByUser && items.Count != 0)
     {
         SetValue(items[0].Tag, true);
     }
 }
コード例 #5
0
 private void ContentBrowserNewScene_ItemAfterChoose(ContentBrowser sender, ContentBrowser.Item item, ref bool handled)
 {
     if (item != null)
     {
         CreateScene(item);
     }
 }
コード例 #6
0
        //!!!!было
        //public void Init( DocumentWindow document )
        //{
        //	this.document = document;
        //}

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            Component root = null;

            //!!!!а если != 1
            if (SettingsPanel.selectedObjects.Length == 1)
            {
                root = SettingsPanel.selectedObjects[0] as Component;
            }

            componentsBrowser = new ContentBrowser();
            componentsBrowser.TreeViewBorderDraw = BorderSides.All;
            componentsBrowser.Mode = ContentBrowser.ModeEnum.Objects;
            componentsBrowser.Options.FilteringModeButton = false;
            //!!!!
            //componentsBrowser.Options.SearchBar = false;
            componentsBrowser.Options.DisplayPropertiesSortFilesBy = false;
            componentsBrowser.Options.DisplayPropertiesOpenButton  = false;
            componentsBrowser.ThisIsSettingsWindow = true;
            componentsBrowser.MultiSelect          = true;
            componentsBrowser.ItemAfterSelect     += ComponentsBrowser_ItemAfterSelect;
            componentsBrowser.ItemAfterChoose     += ComponentsBrowser_ItemAfterChoose;

            componentsBrowser.Init(SettingsPanel.documentWindow, root, /*null, */ null);
            //componentsBrowser.Init( document, root );
            componentsBrowser.Dock = DockStyle.Fill;
            Controls.Add(componentsBrowser);
        }
コード例 #7
0
 private void ApplicationBarIconButton_Click(object sender, EventArgs e)
 {
     if (ContentBrowser.CanGoForward)
     {
         ContentBrowser.GoForward();
     }
 }
コード例 #8
0
 private void ApplicationBarIconButton_Click_1(object sender, EventArgs e)
 {
     if (ContentBrowser.CanGoBack)
     {
         ContentBrowser.GoBack();
     }
 }
コード例 #9
0
        public override EUserControl CreateControlInsidePropertyItemControl()
        {
            //create parent UserControl
            var userControl = base.CreateControlInsidePropertyItemControl();

            //init browser
            contentBrowser1 = new NeoAxis.Editor.ContentBrowser();
            contentBrowser1.CanSelectObjectSettings = false;
            contentBrowser1.Dock              = System.Windows.Forms.DockStyle.Fill;
            contentBrowser1.Location          = new System.Drawing.Point(0, 0);
            contentBrowser1.Margin            = new System.Windows.Forms.Padding(2);
            contentBrowser1.Mode              = NeoAxis.Editor.ContentBrowser.ModeEnum.Resources;
            contentBrowser1.Name              = "contentBrowser1";
            contentBrowser1.Size              = new System.Drawing.Size(215, 247);
            contentBrowser1.Options.PanelMode = ContentBrowser.PanelModeEnum.List;
            contentBrowser1.Options.ListMode  = ContentBrowser.ListModeEnum.Tiles;
            contentBrowser1.UseSelectedTreeNodeAsRootForList = false;
            contentBrowser1.Options.Breadcrumb    = false;
            contentBrowser1.Options.TileImageSize = 100;
            //contentBrowser1.Options.TileImageSize = 128;
            contentBrowser1.ShowToolBar      = false;
            contentBrowser1.ItemAfterSelect += Browser_ItemAfterSelect;
            userControl.Controls.Add(this.contentBrowser1);

            //!!!!
            // image size + side padding + two lines of text for height
            Size tilePadding = DpiHelper.Default.ScaleValue(new Size(30, 40));

            userControl.Height = (128 + tilePadding.Height + 4) * 2;

            //add items
            try
            {
                var items = new List <ContentBrowser.Item>();

                foreach (var template in Component_Scene.NewObjectSettingsScene.GetTemplates())
                {
                    contentBrowser1.AddImageKey(template.Name, template.Preview);

                    var item = new ContentBrowserItem_Virtual(contentBrowser1, null, template.ToString());
                    item.Tag      = template;
                    item.imageKey = template.Name;
                    items.Add(item);
                }

                if (items.Count != 0)
                {
                    contentBrowser1.SetData(items, false);
                    contentBrowser1.SelectItems(new ContentBrowser.Item[] { items[0] });
                }
            }
            catch (Exception exc)
            {
                Log.Warning(exc.Message);
                //contentBrowser1.SetError( "Error: " + exc.Message );
            }

            return(userControl);
        }
コード例 #10
0
        private void contentBrowser1_ItemAfterSelect(ContentBrowser sender, IList <ContentBrowser.Item> items, bool selectedByUser, ref bool handled)
        {
            if (WinFormsUtility.IsDesignerHosted(this))
            {
                return;
            }

            UpdateSelectedType();
        }
コード例 #11
0
        public ContentBrowserListModeTilesRibbon(ContentBrowser browser)
            : base(browser.GetListView())
        {
            this.browser = browser;
            imageSize    = (int)((float)browser.Options.TileImageSize * EditorAPI.DPIScale);

            ItemSize = (EditorAPI.DPIScale * new Vector2(60, 41)).ToVector2I();
            ClampItemWidthByListViewWidth = false;
        }
コード例 #12
0
        private async void GoButton_Click(object sender, RoutedEventArgs e)
        {
            var url = UrlTextBox.Text;

            var siteReader = new SiteReader();

            var content = await siteReader.ReadSiteContent(url);

            ContentBrowser.NavigateToString(content);
        }
コード例 #13
0
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     if (App.content != null)
     {
         if (App.content.LinkURL != null ? !App.content.LinkURL.Trim().Equals("") : false)
         {
             ContentBrowser.Navigate(new Uri(App.content.LinkURL));
         }
     }
 }
コード例 #14
0
        public ContentBrowserListModeTiles(ContentBrowser browser)
            : base(browser.GetListView())
        {
            this.browser = browser;
            imageSize    = (int)((float)browser.Options.TileImageSize * EditorAPI.DPIScale);

            // image size + side padding + two lines of text for height
            var tilePadding = (EditorAPI.DPIScale * new Vector2(30, 40)).ToVector2I();

            ItemSize = new Vector2I(imageSize, imageSize) + tilePadding;
            ClampItemWidthByListViewWidth = false;
        }
コード例 #15
0
 static ContentBrowserItem_File FindCreatedItemByRealPath(ContentBrowser browser, string realPath)
 {
     foreach (var item in browser.GetAllItems())
     {
         var fileItem = item as ContentBrowserItem_File;
         if (fileItem != null && string.Compare(fileItem.FullPath, realPath, true) == 0)
         {
             return(fileItem);
         }
     }
     return(null);
 }
コード例 #16
0
        private void contentBrowser1_ItemAfterChoose(ContentBrowser sender, ContentBrowser.Item item, ref bool handled)
        {
            if (WinFormsUtility.IsDesignerHosted(this))
            {
                return;
            }

            if (!IsReadyToSelect())
            {
                return;
            }
            ButtonSelect_Click(null, null);
        }
コード例 #17
0
        public ContentBrowserListModeList(ContentBrowser browser)
            : base(browser.GetListView())
        {
            this.browser = browser;
            imageSize    = (int)((float)browser.Options.ListImageSize * EditorAPI.DPIScale);

            ItemSize = new Vector2I((int)((float)browser.Options.ListColumnWidth * EditorAPI.DPIScale), imageSize + (int)(EditorAPI.DPIScale * 10.0f));
            ClampItemWidthByListViewWidth = true;

            MarginLeft      = (int)(EditorAPI.DPIScale * 4.0f);
            MarginImageText = (int)(EditorAPI.DPIScale * 2.0f);
            MarginRight     = (int)(EditorAPI.DPIScale * 2.0f);
        }
コード例 #18
0
        private void contentBrowser1_ItemAfterChoose(ContentBrowser sender, ContentBrowser.Item item, ref bool handled)
        {
            if (WinFormsUtility.IsDesignerHosted(this))
            {
                return;
            }

            handled = true;
            if (IsReadyToImport(out _))
            {
                ButtonImport_Click(null, null);
            }
        }
コード例 #19
0
        private void contentBrowser1_ItemAfterChoose(ContentBrowser sender, ContentBrowser.Item item, ref bool handled)
        {
            if (WinFormsUtility.IsDesignerHosted(this))
            {
                return;
            }

            if (!IsReadyToCreate(out string dummy))
            {
                return;
            }
            ButtonCreateAndClose_Click(null, null);
        }
コード例 #20
0
        private void contentBrowser1_ItemAfterSelect(ContentBrowser sender, IList <ContentBrowser.Item> items, bool selectedByUser, ref bool handled)
        {
            if (items.Count != 0)
            {
                selectedPackage = (PackageManager.PackageInfo)items[0].Tag;
            }
            else
            {
                selectedPackage = null;
            }

            UpdatePackageControls();
        }
コード例 #21
0
        private void contentBrowser1_ItemAfterSelect(ContentBrowser sender, IList <ContentBrowser.Item> items, bool selectedByUser, ref bool handled)
        {
            if (WinFormsUtility.IsDesignerHosted(this))
            {
                return;
            }

            if (!contentBrowserItemAfterSelectDisabled)
            {
                manuallyEdited = false;
                UpdateSelectedReference();
            }
        }
コード例 #22
0
        protected virtual List <ContentBrowser.Item> GetItemsForCollection(ContentBrowser browser, IEnumerable <T> collection)
        {
            var result = new List <ContentBrowser.Item>();

            foreach (var val in collection)
            {
                result.Add(new ContentBrowserItem_Virtual(browser, null, val.ToString())
                {
                    Tag = val
                });
            }
            return(result);
        }
コード例 #23
0
        protected override void OnCreatePanelControl(PanelData panel)
        {
            base.OnCreatePanelControl(panel);

            var component = panel.documentWindow.Document.ResultComponent;

            //var component = panel.documentWindow.ObjectOfWindow as Component;
            //if( panel.documentWindow.LoadedResource != null )
            //	component = panel.documentWindow.GetDocumentObject() as Component;

            if (component != null)
            {
                var browser = new ContentBrowser();                // documentObject as Component );

                if (sharedOptions != null)
                {
                    browser.Options = sharedOptions;
                }
                else
                {
                    Config_Load(browser);
                    sharedOptions = browser.Options;
                }

                browser.Mode = ContentBrowser.ModeEnum.Objects;
                browser.CanSelectObjectSettings              = true;
                browser.Options.FilteringModeButton          = false;
                browser.Options.DisplayPropertiesSortFilesBy = false;
                browser.Options.DisplayPropertiesOpenButton  = false;
                browser.TreeViewBorderDraw = BorderSides.Top;
                browser.ListViewBorderDraw = BorderSides.Top;
                browser.MultiSelect        = true;
                //!!!!было до redesign
                //browser.ItemAfterSelect += ContentBrowser_ItemAfterSelect;
                //browser.ItemAfterChoose += ContentBrowser_ItemAfterChoose;

                browser.Init(panel.documentWindow, component, /*null,*/ null);
                panel.control      = browser;
                panel.control.Dock = DockStyle.Fill;
                Controls.Add(panel.control);
                browser.ItemAfterSelect += Browser_ItemAfterSelect;

                SelectItemsOfSelectedObjects(panel.documentWindow);
            }
            else
            {
                panel.control      = new UserControl();
                panel.control.Dock = DockStyle.Fill;
                Controls.Add(panel.control);
            }
        }
コード例 #24
0
        void Config_Load(ContentBrowser browser)
        {
            var windowBlock = EngineConfig.TextBlock.FindChild("ObjectsWindow");

            if (windowBlock != null)
            {
                var browserBlock = windowBlock.FindChild("ContentBrowser");
                if (browserBlock != null)
                {
                    browser.Options.Load(browserBlock);
                    //browser.LoadSettings( browserBlock );
                }
            }
        }
コード例 #25
0
		//private void ComboBox_SelectedIndexChanged( object sender, EventArgs e )
		//{
		//	var control = (KryptonRibbonGroupComboBox)sender;

		//	var action = control.Tag as EditorAction;
		//	if( action != null )
		//	{
		//		action.ComboBox.SelectedIndex = control.SelectedIndex;
		//		EditorAPI.EditorActionClick( EditorAction.HolderEnum.RibbonQAT, action.Name );
		//	}
		//}

		private void ListBrowser_ItemAfterSelect( ContentBrowser sender, IList<ContentBrowser.Item> items, bool selectedByUser, ref bool handled )
		{
			var action = sender.Tag as EditorAction;
			if( action != null )
			{
				if( sender.SelectedItems.Length != 0 )
					action.ListBox.SelectedIndex = (int)sender.SelectedItems[ 0 ].Tag;
				else
					action.ListBox.SelectedIndex = -1;

				action.ListBox.LastSelectedIndexChangedByUser = selectedByUser;

				EditorAPI.EditorActionClick( EditorAction.HolderEnum.RibbonQAT, action.Name );
			}
		}
コード例 #26
0
        public static bool SelectFileItems(ContentBrowser browser, string[] realPaths, bool expandNodes)
        {
            var items = new List <ContentBrowserItem_File>();

            foreach (var realPath in realPaths)
            {
                var item = GetItemByRealFilePath_WithCreationNotCreatedItems(browser, realPath);
                if (item == null)
                {
                    return(false);
                }
                items.Add(item);
            }
            browser.SelectItems(items.ToArray(), expandNodes, true);
            return(true);
        }
コード例 #27
0
        public static void SelectComponentItems(ContentBrowser browser, Component[] components)
        {
            var items = new List <ContentBrowserItem_Component>();

            foreach (var component in components)
            {
                var item = GetItemByComponent_WithCreationNotCreatedItems(browser, component);
                if (item != null)
                {
                    items.Add(item);
                }
            }
            if (items.Count != 0)
            {
                browser.SelectItems(items.ToArray(), false, true);
            }
        }
コード例 #28
0
ファイル: EditorAPI.cs プロジェクト: zwiglm/NeoAxisEngine
        public static (Metadata.TypeInfo objectType, string referenceToObject) GetObjectToCreateByDropData(DragEventArgs e)
        {
            var dragDropData = ContentBrowser.GetDroppingItemData(e.Data);

            if (dragDropData != null)
            {
                var droppingItem = dragDropData.Item;

                var contentBrowserItem = droppingItem as ContentBrowser.Item;
                if (contentBrowserItem != null)
                {
                    return(GetObjectToCreateByContentBrowserItem(contentBrowserItem));
                }
            }

            return(null, "");
        }
コード例 #29
0
        protected override List <ContentBrowser.Item> GetItems(ContentBrowser browser)
        //protected override IEnumerable<ContentBrowser.Item> GetItems( ContentBrowser browser )
        {
            var attr = Property.GetCustomAttribute <EditorDataSourceAttribute>();

            if (attr == null)
            {
                throw new Exception(nameof(HCItemСontentBrowserForCollection <T>) +
                                    " editor must be used with " + nameof(EditorDataSourceAttribute));
            }

            var ownerType = Property.Owner as Metadata.NetTypeInfo;
            var obj       = GetOneControlledObject <object>();
            var flags     = BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static
                            | BindingFlags.GetProperty | BindingFlags.InvokeMethod;
            var collection = (IEnumerable <T>)ownerType.Type.InvokeMember(attr.Source, flags, null, obj, null);

            return(GetItemsForCollection(browser, collection));
        }
コード例 #30
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            if (null == NoteEntity)
            {
                Toast.Prompt("额,貌似哪里不太对了!");
                return;
            }
            try
            {
                TitleTextBlcok.Text = NoteEntity.Title;

                var html = TidyHtml.TideHtml(NoteEntity.Content);

                ContentBrowser.NavigateToString(html);
            }
            catch (System.Exception ex)
            {
                LoggerFactory.GetLogger().Error("", ex);
                Toast.Prompt("额,貌似哪里不好了!");
            }
        }