Exemplo n.º 1
0
        //private Utilities.HookKeys keysHook;
        //private bool notFirstCallBack = false;

        public MainForm(MainControler mainControler, Config config, string appName)
        {
            InitializeComponent();
            this.Text = appName;

            this.mainControler = mainControler;

            statusTimer.Enabled = false;
            statusTimer.Tick   += new EventHandler(StatusTimerEvent);

            mainControler.LayerManager.FirstLayerAdded += new LayerManager.LayerAddedDelegate(LayerManager_FirstLayerAdded);
            mainControler.LayerManager.LayerAdded      += new LayerManager.LayerAddedDelegate(layerAdded);
            mainControler.LayerManager.LayerChanged    += new LayerManager.LayerChangedDelegate(LayerManager_LayerChanged);
            mainControler.SettingsLoaded += new MainControler.SettingsLoadedDelegate(mainControler_SettingsLoaded);
            this.config = config;

            // Menus
            toolMenu = new ToolMenu(this);
            drawMenu = new DrawMenu(this);
            fileMenu = new FileMenu(mainControler);
            addMenu  = new AddMenu(mainControler);
            undoMenu = new UndoMenu(mainControler);

            this.layerListView.ContextMenu = new LayerMenu(this);

            ToolbarMaker.DisplayResolution = mainControler.DisplayResolution;


            //this.keysHook = new GravurGIS.Utilities.HookKeys();
            //this.keysHook.HookEvent += new HookKeys.HookEventHandler(keysHook_HookEvent);
            //this.keysHook.Start();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Build the menu bar
        /// </summary>
        public void build()
        {
            MenuBar menuBar = new MenuBar();

            fileMenu     = new FileMenu();
            settingsMenu = new SettingsMenu();
            HelpMenu helpMenu = new HelpMenu();

            if (ApplicationManager.ApplcationConfiguration.IsMultiuser())
            {
                fileMenu.Items.Remove(fileMenu.OpenFile);
            }

            menuBar.ApplicationMenus.Add(fileMenu);
            menuBar.ApplicationMenus.Add(settingsMenu);
            menuBar.ApplicationMenus.Add(helpMenu);

            menuBar.Items.Add(fileMenu);
            buildPluginsMenus(menuBar);
            buildAdministrationMenu(menuBar);
            menuBar.Items.Add(settingsMenu);
            menuBar.Items.Add(helpMenu);

            ApplicationManager.MainWindow.displayMenuBar(menuBar);
            StatusSidebarGroup.StatusNames = buildPluginNames();

            menuBar.customizeForFileClosed();
        }
        /// <summary>
        /// Constructor, initalises other grid components
        /// </summary>
        public MainWindow()
        {
            InitializeComponent();

            //Initalise grid components
            InfomationBar.Initalise();
            LevelEditorGrid.Initalise();
            InfomationBar.Initalise();
            FileMenu.Initalise();
        }
Exemplo n.º 4
0
 /// <summary>
 /// Раскрыть меню для файла
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void FileList_MouseClick(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Right)
     {
         if (FileList.FocusedItem.Bounds.Contains(e.Location) == true)
         {
             FileMenu.Show(Cursor.Position);
         }
     }
 }
Exemplo n.º 5
0
 private void RegisterMenuItemsEventHandler(FileMenu root)
 {
     foreach (var item in root.Items)
     {
         item.FileMenuClick += MenuItemFileMenuClick;
         if (item.HasChildren)
         {
             RegisterMenuItemsEventHandler(item);
         }
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// Loads FileMenu and adds it to the window
        /// </summary>
        internal static void LoadFileMenu()
        {
            fileMenu = new FileMenu
            {
                Focusable           = false,
                Opacity             = 0,
                Visibility          = Visibility.Hidden,
                VerticalAlignment   = VerticalAlignment.Bottom,
                HorizontalAlignment = HorizontalAlignment.Center,
                Margin = new Thickness(0, 0, 152, 0)
            };

            mainWindow.bg.Children.Add(fileMenu);
        }
Exemplo n.º 7
0
 void OnClick()
 {
     // 우클릭이면
     if (UICamera.currentTouchID == -2)
     {
         FileMenu file = Preset.objects.fileMenu;
         file.no = this.no;
         Vector3 p2 = Input.mousePosition;
         p2.x = (int)p2.x;
         p2.y = (int)(-Screen.height + p2.y);
         file.transform.localPosition = p2;
         file.title.text = "From " + owner;
         file.gameObject.SetActive(true);
     }
 }
Exemplo n.º 8
0
 private void listView1_MouseClick(object sender, MouseEventArgs e)
 {
     if (e.Button != MouseButtons.Right)
     {
         return;
     }
     if (listView1.SelectedItems.Count == 0)
     {
         return;
     }
     if (listView1.SelectedItems[0].SubItems[2].Text == ("listview_item2_file").GetStringBag())
     {
         FileMenu.Show((Control)sender, e.X, e.Y);
         convertToPngToolStripMenuItem.Enabled = listView1.SelectedItems[0].SubItems[0].Text.EndsWith(".tga") || listView1.SelectedItems[0].SubItems[0].Text.EndsWith(".dds");
     }
 }
Exemplo n.º 9
0
        public void InitializeUI()
        {
            int topBarHeight = 24;
            int sideBarWidth = 240;

            Parameters parameters = Parameters.Filled;

            TopBar = new TopBar(parent, parent.ScreenWidth / 3, topBarHeight, new Vector2(parent.ScreenWidth / 3, 0), parameters, FillColor);
            FileMenu fileMenu = new FileMenu(TopBar);

            TopBar.AddButton(fileMenu);
            TopBar.AddButton(new EditMenu(TopBar));

            parent.objectHandler.InputStateChanged += TopBar.OnInputStateChanged;

            SideBar leftSideBar = new SideBar(parent, sideBarWidth, parent.ScreenHeight, Vector2.Zero, parameters, FillColor);

            leftSideBar.AddTool(new TextureCatalog(leftSideBar));
            leftSideBar.AddTool(new GridTools(leftSideBar));

            SideBar rightSideBar = new SideBar(parent, sideBarWidth, parent.ScreenHeight, new Vector2(parent.ScreenWidth - sideBarWidth, 0), parameters, FillColor);

            rightSideBar.AddTool(new SpriteScale(rightSideBar));
            rightSideBar.AddTool(new SpriteZValue(rightSideBar));
            rightSideBar.AddTool(new SpriteColorTint(rightSideBar));
            rightSideBar.AddTool(new SpriteRotation(rightSideBar));
            rightSideBar.AddTool(new SpriteFlip(rightSideBar));

            DialogWindow saveDialog = new SaveDialog(parent);

            fileMenu.saveButton.ButtonPressed += saveDialog.Show;

            DialogWindow loadDialog = new LoadDialog(parent);

            fileMenu.loadButton.ButtonPressed += loadDialog.Show;

            DialogWindow newProjectDialog = new NewDialog(parent);

            fileMenu.newProjectButton.ButtonPressed += newProjectDialog.Show;

            uiObjects.Add(TopBar);
            uiObjects.Add(leftSideBar);
            uiObjects.Add(rightSideBar);
            uiObjects.Add(saveDialog);
            uiObjects.Add(loadDialog);
            uiObjects.Add(newProjectDialog);
        }
Exemplo n.º 10
0
        /// <summary>
        /// Loads FileMenu and adds it to the window
        /// </summary>
        internal static void LoadFileMenu()
        {
            GetFileMenu = new FileMenu
            {
                Focusable           = false,
                Opacity             = 0,
                Visibility          = Visibility.Hidden,
                VerticalAlignment   = VerticalAlignment.Bottom,
                HorizontalAlignment = HorizontalAlignment.Center,
                Margin = new Thickness(0, 0, 168, 0)
            };

            LoadWindows.GetMainWindow.ParentContainer.Children.Add(GetFileMenu);

#if DEBUG
            Trace.WriteLine(nameof(GetFileMenu) + " loaded ");
#endif
        }
Exemplo n.º 11
0
 private void listViewMain_MouseDown(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Right)
     {
         if (listViewMain.FocusedItem == null)
         {
             ListMenu.Show(Cursor.Position);
         }
         else if (listViewMain.FocusedItem.Bounds.Contains(e.Location))
         {
             FileMenu.Show(Cursor.Position);
         }
         else
         {
             ListMenu.Show(Cursor.Position);
         }
     }
 }
Exemplo n.º 12
0
        private void FillMenuItems()
        {
            //fill with dummy data.
            var file = new FileMenu {
                Header = "File", CommandParameter = "file"
            };

            file.Items.Add(new FileMenu {
                Header = "New/open project", CommandParameter = "newopenproject"
            });
            file.Items.Add(new FileMenu {
                Header = "Save", CommandParameter = "save"
            });
            var menu1 = new FileMenu {
                Header = "Menu1", CommandParameter = "menu1"
            };
            var menu2 = new FileMenu {
                Header = "Menu2", CommandParameter = "menu2"
            };

            menu1.Items.Add(menu2);
            file.Items.Add(menu1);
            file.Items.Add(new FileMenu {
                Header = "Exit", CommandParameter = "exit"
            });

            var help = new FileMenu {
                Header = "Help", CommandParameter = "help"
            };

            help.Items.Add(new FileMenu {
                Header = "About us", CommandParameter = "about"
            });

            MenuItems.Add(file);
            MenuItems.Add(help);

            foreach (var menuItem in MenuItems)
            {
                RegisterMenuItemsEventHandler(menuItem);
            }
        }
Exemplo n.º 13
0
        private static string[] SelectFileAndReadLines()
        {
            string[] lines = null;
            // Select file from directory or NULL if not selected
            string filename = new FileMenu(_examplesDirectory)
                              .GetFullFilename("*.txt");

            if (String.IsNullOrEmpty(filename) == false)
            {
                Console.WriteLine("Going to read all lines from file `{0}`", filename);

                // Read from file...
                lines = File.ReadAllLines(filename);
                // remove empty...
                lines = Helper.CleanupLines(lines);
                // display
                DumpMatix(Helper.BuildMatrix(lines));
            }

            return(lines);
        }
 public EditorMenuBar()
 {
     MenuFile = new FileMenu();
     BuildMenu();
 }
 private void NewButtonPressed(object sender, RoutedEventArgs args)
 {
     FileMenu.GetInstance().NewButtonPressed(sender, args);
 }
        void MenuBar(Rect rect)
        {
#if UMA_ADDRESSABLES
            if (AddressablesMenu.GetItemCount() == 1)
            {
                SetupMenus();
            }
#endif
            Rect MenuRect = new Rect(rect);
            MenuRect.width = 60;


            if (EditorGUI.DropdownButton(MenuRect, new GUIContent("File"), FocusType.Passive, EditorStyles.toolbarDropDown))
            {
                FileMenu.DropDown(new Rect(MenuRect));
            }
            MenuRect.x    += 60;
            MenuRect.width = 100;
            if (EditorGUI.DropdownButton(MenuRect, new GUIContent("Addressables"), FocusType.Passive, EditorStyles.toolbarDropDown))
            {
                AddressablesMenu.DropDown(new Rect(MenuRect));
            }

            MenuRect.x    += 100;
            MenuRect.width = 70;

            if (EditorGUI.DropdownButton(MenuRect, new GUIContent("Items"), FocusType.Passive, EditorStyles.toolbarDropDown))
            {
                ItemsMenu.DropDown(new Rect(MenuRect));
            }


            MenuRect.x    += 70;
            MenuRect.width = 100;

            if (GUI.Button(MenuRect, new GUIContent("Collapse All"), EditorStyles.toolbarButton))
            {
                treeView.CollapseAll();
            }

            MenuRect.x    += 100;
            MenuRect.width = 100;

            if (GUI.Button(MenuRect, new GUIContent("Expand All"), EditorStyles.toolbarButton))
            {
                treeView.ExpandAll();
            }

            MenuRect.x    += 100;
            MenuRect.width = 100;

            bool newShowUtilities = GUI.Toggle(MenuRect, ShowUtilities, "Show Utilities", EditorStyles.toolbarButton);

            if (newShowUtilities != ShowUtilities)
            {
                ShowUtilities = newShowUtilities;
                Repaint();
            }

            Rect FillRect = new Rect(rect);
            FillRect.x     += 530;
            FillRect.width -= 530;
            GUI.Box(FillRect, "", EditorStyles.toolbar);

            if (ShowUtilities)
            {
                rect.y += rect.height;
                GUI.Box(rect, "");
                GUILayout.BeginArea(rect);
                GUILayout.BeginHorizontal();
                if (GUILayout.Button("Apply UMAMaterials to Selection", GUILayout.Width(259)))
                {
                    UpdateMaterials();
                    AssetDatabase.SaveAssets();
                }
                Replacement = EditorGUILayout.ObjectField("", Replacement, typeof(UMAMaterial), false, GUILayout.Width(250)) as UMAMaterial;
                GUILayout.EndHorizontal();
                GUILayout.EndArea();
            }
        }
        private void SetupMenus()
        {
            _FileMenu         = new GenericMenu();
            _AddressablesMenu = new GenericMenu();
            _ItemsMenu        = new GenericMenu();

            AddPlugins(GetAddressablePlugins());

            // ***********************************************************************************
            // File Menu items
            // ***********************************************************************************
            AddMenuItemWithCallback(FileMenu, "Rebuild From Project", () =>
            {
                UAI.Clear();
                UAI.AddEverything(false);
                Resources.UnloadUnusedAssets();
                m_Initialized = false;
                Repaint();
            });

            AddMenuItemWithCallback(FileMenu, "Rebuild From Project (include text assets)", () =>
            {
                UAI.Clear();
                UAI.AddEverything(true);
                Resources.UnloadUnusedAssets();
                m_Initialized = false;
                Repaint();
            });
            AddMenuItemWithCallback(FileMenu, "Cleanup References", () =>
            {
                UAI.UpdateReferences();
                Resources.UnloadUnusedAssets();
                m_Initialized = false;
                Repaint();
                EditorUtility.DisplayDialog("Repair", "References cleaned", "OK");
            });

            AddMenuItemWithCallback(FileMenu, "Repair and remove invalid items", () =>
            {
                UAI.RepairAndCleanup();
                Resources.UnloadUnusedAssets();
                m_Initialized = false;
                Repaint();
                EditorUtility.DisplayDialog("Repair", "AssetIndex successfully repaired", "OK");
            });

            /* AddMenuItemWithCallback(FileMenu, "Add Build refs to all non-addressables", () =>
             * {
             *      UAI.AddReferences();
             *      RecountTypes();
             *      Resources.UnloadUnusedAssets();
             *      Repaint();
             * });
             * AddMenuItemWithCallback(FileMenu, "Clear build refs from all items", () =>
             * {
             *      UAI.ClearReferences();
             *      Resources.UnloadUnusedAssets();
             *      RecountTypes();
             *      Repaint();
             * }); */
            FileMenu.AddSeparator("");
            AddMenuItemWithCallback(FileMenu, "Toggle Utilities Panel", () =>
            {
                ShowUtilities = !ShowUtilities;
                Repaint();
            });
            FileMenu.AddSeparator("");

            AddMenuItemWithCallback(FileMenu, "Empty Index", () =>
            {
                UAI.Clear();
                m_Initialized = false;
                Repaint();
            });

#if UMA_ADDRESSABLES
            foreach (IUMAAddressablePlugin plugin in addressablePlugins)
            {
                AddMenuItemWithCallbackParm(_AddressablesMenu, "Generators/" + plugin.Menu, (object o) =>
                {
                    IUMAAddressablePlugin addrplug = o as IUMAAddressablePlugin;
                    UMAAddressablesSupport.Instance.GenerateAddressables(addrplug);
                    Resources.UnloadUnusedAssets();
                    m_Initialized = false;
                    Repaint();
                }, plugin);
            }

            _AddressablesMenu.AddSeparator("Generators/");

            // ***********************************************************************************
            // Addressables Menu items
            // ***********************************************************************************
            AddMenuItemWithCallback(_AddressablesMenu, "Generators/Generate Groups (optimized)", () =>
            {
                UMAAddressablesSupport.Instance.CleanupAddressables();
                UMAAddressablesSupport.Instance.GenerateAddressables();
                Resources.UnloadUnusedAssets();
                m_Initialized = false;
                Repaint();
            });

            /* AddMenuItemWithCallback(AddressablesMenu, "Generators/Generate Shared Group (fast)", () =>
             * {
             *      UAI.CleanupAddressables();
             *      UAI.GenerateSingleGroup();
             *      Resources.UnloadUnusedAssets();
             *      m_Initialized = false;
             *      Repaint();
             * });
             *
             * AddMenuItemWithCallback(AddressablesMenu, "Generators/Generate Shared Group (incl recipes)", () =>
             * {
             *      UAI.CleanupAddressables();
             *      UAI.GenerateSingleGroup(true);
             *      Resources.UnloadUnusedAssets();
             *      m_Initialized = false;
             *      Repaint();
             * }); */

            AddMenuItemWithCallback(_AddressablesMenu, "Remove Addressables", () =>
            {
                UMAAddressablesSupport.Instance.CleanupAddressables(false, true);
                m_Initialized = false;
                Repaint();
            });
            AddMenuItemWithCallback(_AddressablesMenu, "Delete Empty Groups", () =>
            {
                UMAAddressablesSupport.Instance.CleanupAddressables(true);
            });

            /*
             * AddMenuItemWithCallback(AddressablesMenu, "Force Add Refs (Bad!!)", () =>
             * {
             *      UAI.AddReferences(true);
             *      RecountTypes();
             *      Resources.UnloadUnusedAssets();
             *      Repaint();
             * }); */

            AddMenuItemWithCallback(_AddressablesMenu, "Remove Orphaned Slots", () =>
            {
                if (EditorUtility.DisplayDialog("Warning!", "You *must* build the addressable groups, and mark any slots you want to keep as 'keep' before running this!", "OK", "Cancel"))
                {
                    UMAAddressablesSupport.Instance.CleanupOrphans(typeof(SlotDataAsset));
                    m_Initialized = false;
                    Repaint();
                }
            });
            AddMenuItemWithCallback(_AddressablesMenu, "Remove Orphaned Overlays", () =>
            {
                if (EditorUtility.DisplayDialog("Warning!", "You *must* build the addressable groups, and mark any slots you want to keep as 'keep' before running this.", "OK", "Cancel"))
                {
                    UMAAddressablesSupport.Instance.CleanupOrphans(typeof(OverlayDataAsset));
                    m_Initialized = false;
                    Repaint();
                }
            });
#else
            AddMenuItemWithCallback(_AddressablesMenu, "Enable Addressables (Package must be installed first)", () =>
            {
                if (EditorUtility.DisplayDialog("Warning!", "The Addressables Package must be installed first before enabling Addressables support in UMA. Enabling addressables will trigger a recompile during which the library will be unavailable.", "OK", "Cancel"))
                {
                    var defineSymbols = new HashSet <string>(PlayerSettings.GetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup).Split(';'));
                    defineSymbols.Add("UMA_ADDRESSABLES");
                    PlayerSettings.SetScriptingDefineSymbolsForGroup(EditorUserBuildSettings.selectedBuildTargetGroup, string.Join(";", defineSymbols));
                    m_Initialized = false;
                    Repaint();
                }
            });
#endif
            // ***********************************************************************************
            // Items Menu items
            // ***********************************************************************************
            AddMenuItemWithCallback(ItemsMenu, "Select All", () =>
            {
                var treeElements = new List <AssetTreeElement>();
                TreeElementUtility.TreeToList <AssetTreeElement>(treeView.treeModel.root, treeElements);
                foreach (AssetTreeElement ate in treeElements)
                {
                    ate.Checked = true;
                }
                treeView.RecalcTypeChecks();
                Repaint();
                return;
            });

            AddMenuItemWithCallback(ItemsMenu, "Clear Selection", () =>
            {
                var treeElements = new List <AssetTreeElement>();
                TreeElementUtility.TreeToList <AssetTreeElement>(treeView.treeModel.root, treeElements);
                foreach (AssetTreeElement ate in treeElements)
                {
                    ate.Checked = false;
                }
                treeView.RecalcTypeChecks();
                Repaint();
                return;
            });

            foreach (RaceData rc in UAI.GetAllAssets <RaceData>())
            {
                if (rc != null)
                {
                    AddMenuItemWithCallbackParm(ItemsMenu, "Select Slots + Overlays By Race/" + rc.raceName, SelectByRace, rc);
                    AddMenuItemWithCallbackParm(ItemsMenu, "Select Slots By Race/" + rc.raceName, SelectSlotsByRace, rc);
                    AddMenuItemWithCallbackParm(ItemsMenu, "Select Overlays By Race/" + rc.raceName, SelectOverlaysByRace, rc);
                }
            }

            ItemsMenu.AddSeparator("");

            AddMenuItemWithCallback(ItemsMenu, "Add Keep Flag to Selected Items", () =>
            {
                MarkKeep(true);
                Repaint();
                return;
            });

            AddMenuItemWithCallback(ItemsMenu, "Clear Keep Flag from Selected Items", () =>
            {
                MarkKeep(false);
                Repaint();
                return;
            });

            ItemsMenu.AddSeparator("");

            AddMenuItemWithCallback(ItemsMenu, "Remove Selected", () =>
            {
                RemoveSelected();
                m_Initialized = false;
                Repaint();
                return;
            });
            AddMenuItemWithCallback(ItemsMenu, "Force Selected Items to Save", () =>
            {
                ForceSave();
                m_Initialized = false;
                Repaint();
                return;
            });
        }
Exemplo n.º 18
0
 private void MFile_Click(object sender, EventArgs e)
 {
     FileMenu.Show(MFile, 0, MFile.Height);
 }