コード例 #1
0
        /// <summary>
        /// When the program first loaded
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            // Create a Tree-View Item to represent Volume
            var treeViewItem = new TreeViewItem {
                // Add the title
                Header = FakeOS.Volume.Name,
                // Add the path
                Tag = FakeOS.Volume.Tag,
                // Name for image
                Name = "Id" + FakeOS.Volume.Id.ToString()
            };

            // Add a dummy child to the root Tree-View Item
            treeViewItem.Items.Add(null);

            var      contextMenu    = new ContextMenu();
            MenuItem menuItemCreate = new MenuItem()
            {
                Header = "Create new folder",
                Tag    = FakeOS.Volume.Tag
            };

            menuItemCreate.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickCreateFolder));
            contextMenu.Items.Add(menuItemCreate);
            MenuItem menuItemCreateFile = new MenuItem()
            {
                Header = "Create new file",
                Tag    = FakeOS.Volume.Tag
            };

            menuItemCreateFile.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickCreateFile));
            contextMenu.Items.Add(menuItemCreateFile);
            MenuItem menuItemRename = new MenuItem()
            {
                Header = "Rename",
                Tag    = FakeOS.Volume.Tag
            };

            menuItemRename.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickRename));
            contextMenu.Items.Add(menuItemRename);
            MenuItem menuItemFormat = new MenuItem()
            {
                Header = "Format",
                Tag    = FakeOS.Volume.Tag
            };

            menuItemFormat.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickFormat));
            contextMenu.Items.Add(menuItemFormat);
            treeViewItem.ContextMenu = contextMenu;

            // Listen out for item being expended
            treeViewItem.Expanded += TreeItem_Expanded;

            // Add an item to the main tree
            FolderView.Items.Add(treeViewItem);
        }
コード例 #2
0
        //---------------------------------------------------------------------------
        private bool fn_SetMenuItem(int kind = 0)
        {//kind - 0 : One, 1: All, 2:Row, 3:Col
            //
            string sPre  = string.Empty;
            string sItem = string.Empty;
            int    nIdex = 0;

            cmMenu.Items.Clear();
            cmMenu.RemoveHandler(MenuItem.ClickEvent, new RoutedEventHandler(menuItemOne_Click));
            cmMenu.RemoveHandler(MenuItem.ClickEvent, new RoutedEventHandler(menuItemAll_Click));

            for (int i = 0; i < STR_PLATE_STAT.Length; i++)
            {
                MenuItem item = new MenuItem();
                if (kind == 1)
                {
                    sPre = "ALL - ";
                    item.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(menuItemAll_Click));
                }
                else
                {
                    sPre = "ONE - ";
                    item.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(menuItemOne_Click));
                }

                sItem = STR_PLATE_STAT[i];
                if (sItem != "EMPTY" && sItem != "READY" && sItem != "FINISH")
                {
                    continue;
                }

                item.Header = sPre + STR_PLATE_STAT[i];
                item.Tag    = nIdex++;
                cmMenu.Items.Add(item);
            }

            cmMenu.IsOpen = true;


            return(true);
        }
コード例 #3
0
        private void LoadPluginToMenu()
        {
            PluginLoader pl = PluginLoader.Instance();

            pl.LoadPlugins();

            string[] pluginNames = pl.PluginNames();
            for (int i = 0; i < pluginNames.Length; i++)
            {
                MenuItem newItem = new MenuItem();
                newItem.Header = pluginNames[i];
                newItem.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(this.PortOpen));
                pmHt.Add(newItem, pluginNames[i]);
                this.portMenuList.Items.Add(newItem);
            }
        }
コード例 #4
0
        public void Login_Success()
        {
            string address = textBoxServerAddress.Text;
            int    port    = int.Parse(textBoxPort.Text);

            this.Refresh_Grid();

            textBoxServerAddress.IsEnabled = false;
            textBoxPort.IsEnabled          = false;
            buttonConnect.Content          = "Disconnect";
            buttonUpload.IsEnabled         = true;

            ContextMenu menu = new ContextMenu();
            MenuItem    item = new MenuItem();

            item.Header      = "Refresh";
            item.DataContext = "Refresh";
            item.AddHandler(MenuItem.MouseUpEvent, new MouseButtonEventHandler(Refresh_Click), true);
            menu.Items.Add(item);
            gridBackground.ContextMenu = menu;
        }
コード例 #5
0
ファイル: MainWindow.xaml.cs プロジェクト: ytakani/C_Sharp2
        /**
         *  *  @brief      dtGrid1 データ作成時処理
         *  *  @param[in]  object  sender
         *  *  @param[in]  DataGridRowEventArgs   e
         *  *  @return     void
         *  *  @note       セルデータ作成時に、Menu機能も追加するための処理
         *              本Methodは dtGrid1 のデザイナから EventMethod追加したもの
         *  */
        private void dtGrid1_LoadingRow(object sender, DataGridRowEventArgs e)
        {
            // 右クリックメニューの追加。XAMLでやると表示されない?ので、LoadingRowのタイミングで行った

            DataGridRow datagrid_row = e.Row;
            //var viewmodel = datagrid_row.DataContext as ListItem_ViewModel;
            //if (viewmodel == null) return;

            //datagrid_row.MouseRightButtonUp += new MouseButtonEventHandler(dtGrid1_MouseRightButtonUp);
            //datagrid_row.MouseLeftButtonUp  += new MouseButtonEventHandler(dtGrid1_MouseLeftButtonUp);

            //  メニュー追加
            ContextMenu cm = new ContextMenu();

            // Menu1 追加
            MenuItem m1 = new MenuItem();

            m1.Header = "Copy Data";
            //m1.Background = new SolidColorBrush(Colors.LightGray);
            //m1.MouseLeftButtonUp += new MouseButtonEventHandler(MyDataGrid_ContextMenu1_Click);
            // ★ 上記ではEvent起きず、下記のようににして、第3引数 true にしたら Event発生
            //    ( 第3引数をtrue は、処理済みのルーティングイベントにも反応とのこと )
            m1.AddHandler(MenuItem.MouseLeftButtonUpEvent, new MouseButtonEventHandler(MyDataGrid_ContextMenu1_Click), true);
            cm.Items.Add(m1);
            //cm.Background = new SolidColorBrush(Colors.LightGray);

            //セパレータ
            cm.Items.Add(new Separator());

            // Menu2 追加
            MenuItem m2 = new MenuItem();

            m2.Header = "Dummy Menu";
            //m2.MouseLeftButtonUp += new MouseButtonEventHandler(MyDataGrid_ContextMenu2_Click);
            m2.AddHandler(MenuItem.MouseLeftButtonUpEvent, new MouseButtonEventHandler(MyDataGrid_ContextMenu2_Click), true);
            cm.Items.Add(m2);

            //cm.MouseLeftButtonUp += new MouseButtonEventHandler(MyDataGrid_ContextMenu1_Click);
            ContextMenuService.SetContextMenu(datagrid_row, cm);
        }
コード例 #6
0
        public static MenuItem Construct(SearchControl sc, MenuItem plainExcelMenuItem)
        {
            MenuItem miResult = new MenuItem
            {
                Header = ExcelMessage.Reports.NiceToString(),
                Icon   = ExtensionsImageLoader.GetImageSortName("excel.png").ToSmallImage()
            };

            miResult.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler((object sender, RoutedEventArgs e) =>
            {
                e.Handled = true;

                if (e.OriginalSource is MenuItem b) //Not to capture the mouseDown of the scrollbar buttons
                {
                    Lite <ExcelReportEntity> reportLite = (Lite <ExcelReportEntity>)b.Tag;

                    SaveFileDialog sfd = new SaveFileDialog()
                    {
                        AddExtension    = true,
                        DefaultExt      = ".xlsx",
                        Filter          = ExcelMessage.Excel2007Spreadsheet.NiceToString(),
                        FileName        = reportLite.ToString() + " - " + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx",
                        OverwritePrompt = true,
                        Title           = ExcelMessage.FindLocationFoExcelReport.NiceToString()
                    };

                    if (sfd.ShowDialog(Window.GetWindow(sc)) == true)
                    {
                        byte[] result = Server.Return((IExcelReportServer r) => r.ExecuteExcelReport(reportLite, sc.GetQueryRequest(true)));

                        File.WriteAllBytes(sfd.FileName, result);

                        System.Diagnostics.Process.Start(sfd.FileName);
                    }
                }
            }));

            Action initialize = null;

            MenuItem miAdmin = new MenuItem()
            {
                Header = "Administrar",
                Icon   = ExtensionsImageLoader.GetImageSortName("folderedit.png").ToSmallImage()
            };

            miAdmin.Click += (object sender, RoutedEventArgs e) =>
            {
                var query = QueryClient.GetQuery(sc.QueryName);

                Finder.Explore(new ExploreOptions(typeof(ExcelReportEntity))
                {
                    ShowFilters      = false,
                    ShowFilterButton = false,
                    FilterOptions    = new List <FilterOption>
                    {
                        new FilterOption
                        {
                            ColumnName = "Query",
                            Operation  = FilterOperation.EqualTo,
                            Value      = query.ToLite(query.IsNew),
                            Frozen     = true
                        }
                    },
                    Closed = (_, __) => miAdmin.Dispatcher.Invoke(() => initialize()) //Refrescar lista de informes tras salir del administrador
                });

                e.Handled = true;
            };

            initialize = () =>
            {
                miResult.Items.Clear();

                List <Lite <ExcelReportEntity> > reports = Server.Return((IExcelReportServer s) => s.GetExcelReports(sc.QueryName));

                if (plainExcelMenuItem != null)
                {
                    miResult.Items.Add(plainExcelMenuItem);
                    miResult.Items.Add(new Separator());
                }

                miResult.Header = new TextBlock {
                    Inlines = { new Run(ExcelMessage.Reports.NiceToString()), reports.Count == 0? (Inline) new Run(): new Bold(new Run(" (" + reports.Count + ")")) }
                };

                if (reports.Count > 0)
                {
                    foreach (Lite <ExcelReportEntity> report in reports)
                    {
                        MenuItem mi = new MenuItem()
                        {
                            Header = report.ToString(),
                            Icon   = ExtensionsImageLoader.GetImageSortName("excelDoc.png").ToSmallImage(),
                            Tag    = report,
                        };
                        miResult.Items.Add(mi);
                    }
                }


                miResult.Items.Add(miAdmin);
            };

            initialize();

            return(miResult);
        }
コード例 #7
0
        private void MenuItem_ClickCreateFolder(object sender, RoutedEventArgs e)
        {
            var dialog = new EnterFolderName();

            if (dialog.ShowDialog() == true)
            {
                var menuItem = sender as MenuItem;

                // Find the parant from OS
                TreeItem parant = FakeOS.Volume.GetTreeItem(menuItem.Tag.ToString());

                string newTag = parant.Tag + '\\' + dialog.ResponseText;
                if (FakeOS.Volume.GetTreeItem(newTag) != null) // So item with this name already exists in the directory
                {
                    MessageBox.Show(this, $"Item with name {dialog.ResponseText} already exists in the directory.",
                                    "Confirmation", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }

                // Create our new child and put it among the parants children
                TreeItem child = FakeOS.AddDirectory(dialog.ResponseText, ItemType.folder, parant.Id);

                // Find parant of item user want to delete in the Tree
                TreeViewItem parantTVI = (TreeViewItem)LogicalTreeHelper.FindLogicalNode(FolderView, "Id" + parant.Id); //FolderView.Items.GetItemAt(0);

                if (parantTVI.Items.Count == 1 && parantTVI.Items[0] == null)
                {
                    // Remove the dummy child
                    parantTVI.Items.Clear();
                }

                // Create new Tree-ViewItem for our new child
                TreeViewItem childTVI = new TreeViewItem()
                {
                    // Add the title
                    Header = child.Name,
                    // Add the path
                    Tag = child.Tag,
                    // Name for image
                    Name = "Id" + child.Id.ToString()
                };

                // Add a dummy child to the root Tree-View Item for ability to expand our new folder
                childTVI.Items.Add(null);

                ContextMenu contextMenu    = new ContextMenu();
                MenuItem    menuItemCreate = new MenuItem()
                {
                    Header = "Create new folder",
                    Tag    = child.Tag
                };
                menuItemCreate.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickCreateFolder));
                contextMenu.Items.Add(menuItemCreate);
                MenuItem menuItemRename = new MenuItem()
                {
                    Header = "Rename",
                    Tag    = child.Tag
                };
                menuItemRename.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickRename));
                contextMenu.Items.Add(menuItemRename);
                MenuItem menuItemDelete = new MenuItem()
                {
                    Header = "Delete",
                    Tag    = child.Tag
                };
                menuItemDelete.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickDelete));
                contextMenu.Items.Add(menuItemDelete);
                MenuItem menuItemCreateFile = new MenuItem()
                {
                    Header = "Create file",
                    Tag    = child.Tag
                };
                menuItemCreateFile.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickCreateFile));
                contextMenu.Items.Add(menuItemCreateFile);

                childTVI.ContextMenu = contextMenu;
                // Listen out for item being expended
                childTVI.Expanded += TreeItem_Expanded;

                // Add new child Tree-ViewItem to the parant
                parantTVI.Items.Add(childTVI);

                FolderView.UpdateLayout();
                DrawGrid();
            }
        }
コード例 #8
0
        private void MenuItem_ClickCreateFile(object sender, RoutedEventArgs e)
        {
            string docName;

            var dialog = new EnterFolderName();

            dialog.Message.Text = "Enter document name";
            if (dialog.ShowDialog() == true)
            {
                docName = dialog.ResponseText;
                var menuItem = sender as MenuItem;

                // Find the parant from OS
                TreeItem parant = FakeOS.Volume.GetTreeItem(menuItem.Tag.ToString());
                string   newTag = parant.Tag + '\\' + dialog.ResponseText;
                if (FakeOS.Volume.GetTreeItem(newTag) != null) // So item with this name already exists in the directory
                {
                    MessageBox.Show(this, $"Item with name {dialog.ResponseText} already exists in the directory.",
                                    "Confirmation", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }
                // Create our new child and put it among the parants children
                TreeItem child = FakeOS.AddDirectory(docName, ItemType.file, parant.Id);

                // Find parant of item user want to delete in the Tree
                TreeViewItem parantTVI = (TreeViewItem)LogicalTreeHelper.FindLogicalNode(FolderView, "Id" + parant.Id); //FolderView.Items.GetItemAt(0);
                                                                                                                        // Exit if the item contains data
                if (parantTVI.Items.Count == 1 && parantTVI.Items[0] == null)
                {
                    // Remove the dummy child
                    parantTVI.Items.Clear();
                }

                // Create new Tree-ViewItem for our new child
                TreeViewItem childTVI = new TreeViewItem()
                {
                    // Add the title
                    Header = child.Name,
                    // Add the path
                    Tag = child.Tag,
                    // Name for image
                    Name = "Id" + child.Id.ToString()
                };

                ContextMenu contextMenu  = new ContextMenu();
                MenuItem    menuItemOpen = new MenuItem()
                {
                    Header = "Open",
                    Tag    = child.Tag
                };
                MenuItem menuItemRename = new MenuItem()
                {
                    Header = "Rename",
                    Tag    = child.Tag
                };
                menuItemRename.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickRename));
                contextMenu.Items.Add(menuItemRename);
                menuItemOpen.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickOpenFile));
                contextMenu.Items.Add(menuItemOpen);
                MenuItem menuItemDelete = new MenuItem()
                {
                    Header = "Delete",
                    Tag    = child.Tag
                };
                menuItemDelete.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickDelete));
                contextMenu.Items.Add(menuItemDelete);

                childTVI.ContextMenu = contextMenu;

                // Add new child Tree-ViewItem to the parant
                parantTVI.Items.Add(childTVI);
                FolderView.UpdateLayout();

                var notBad = new NotBad();
                notBad.Title += " " + docName;
                if (notBad.ShowDialog() == true)
                {
                    child.Document.Content = notBad.TextContent.Text;
                    Drive.Write(parant, child, child.Document.Content, false);
                    child.Document.LastModification = DateTime.UtcNow;
                }
                else
                {
                    Drive.Write(parant, child, child.Name, false);
                }
                DrawGrid();
            }
        }
コード例 #9
0
        /// <summary>
        /// When a disk/folder is expanded find sub folders/files
        /// </summary>
        /// <param name="sender">TreeViewItem</param>
        /// <param name="e"></param>
        private void TreeItem_Expanded(object sender, RoutedEventArgs e)
        {
            var treeViewItem = (TreeViewItem)sender;

            // Exit if the item contains data
            if (treeViewItem.Items.Count != 1 || treeViewItem.Items[0] != null)
            {
                return;
            }

            // Remove the dummy child
            treeViewItem.Items.Clear();

            // Get the full path
            var fullPath = (string)treeViewItem.Tag;

            // Create a blank list for directories
            var directories = new List <string>();

            // Get nested directories
            foreach (var dir in FakeOS.GetDirectories(fullPath))
            {
                var newChildTreeViewItem = new TreeViewItem
                {
                    Header = dir.Name,
                    // Let's puth the type here to conveert it into image later :)
                    Name = "Id" + dir.Id.ToString(),
                    Tag  = dir.Tag
                };
                ContextMenu contextMenu    = new ContextMenu();
                MenuItem    menuItemDelete = new MenuItem()
                {
                    Header = "Delete",
                    Tag    = dir.Tag
                };
                MenuItem menuItemRename = new MenuItem()
                {
                    Header = "Rename",
                    Tag    = FakeOS.Volume.Tag
                };
                menuItemRename.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickRename));
                contextMenu.Items.Add(menuItemRename);
                if (dir.Type == ItemType.folder || dir.Type == ItemType.drive)
                {
                    newChildTreeViewItem.Items.Add(null);
                    MenuItem menuItemCreateFolder = new MenuItem()
                    {
                        Header = "Create new folder",
                        Tag    = dir.Tag
                    };
                    menuItemCreateFolder.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickCreateFolder));
                    contextMenu.Items.Add(menuItemCreateFolder);
                    MenuItem menuItemCreateFile = new MenuItem()
                    {
                        Header = "Create new file",
                        Tag    = dir.Tag
                    };
                    menuItemCreateFile.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickCreateFile));
                    contextMenu.Items.Add(menuItemCreateFile);
                    newChildTreeViewItem.ContextMenu = contextMenu;
                    newChildTreeViewItem.Expanded   += TreeItem_Expanded;
                }
                else // If it is a file let's add an Open command
                {
                    MenuItem menuItemOpenFile = new MenuItem()
                    {
                        Header = "Open",
                        Tag    = dir.Tag
                    };
                    menuItemOpenFile.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickOpenFile));
                    contextMenu.Items.Add(menuItemOpenFile);
                }
                // Bind the handler of removing items
                menuItemDelete.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(MenuItem_ClickDelete));
                contextMenu.Items.Add(menuItemDelete);
                newChildTreeViewItem.ContextMenu = contextMenu;
                treeViewItem.Items.Add(newChildTreeViewItem);
            }

            if (treeViewItem.Name == ItemType.folder.ToString())
            {
                treeViewItem.Name = "folderOpen";
            }
        }
コード例 #10
0
        public void AddMenuItem(MenuItem item, Action <object, RoutedEventArgs> action)
        {
            item.AddHandler(MenuItem.ClickEvent, new RoutedEventHandler(action));

            _characterContextMenu.Items.Add(item);
        }
コード例 #11
0
        private void DrawFile(int row, int column, int type, string filename)
        {
            Image image = new Image();

            image.Height            = 50;
            image.VerticalAlignment = VerticalAlignment.Top;
            BitmapImage bitmap = new BitmapImage();

            bitmap.BeginInit();
            switch (type)
            {
            case 1: bitmap.UriSource = new Uri("pack://application:,,,/Images/file.png"); break;

            case 2: bitmap.UriSource = new Uri("pack://application:,,,/Images/file_cloud.png"); break;

            case 3: bitmap.UriSource = new Uri("pack://application:,,,/Images/file_download.png"); break;

            case 4: bitmap.UriSource = new Uri("pack://application:,,,/Images/file_upload.png"); break;
            }
            bitmap.EndInit();
            image.Source = bitmap;

            ContextMenu menu  = new ContextMenu();
            MenuItem    item1 = new MenuItem();

            item1.Header      = "Download";
            item1.DataContext = filename + "?Download";
            item1.AddHandler(MenuItem.MouseUpEvent, new MouseButtonEventHandler(Download_Click), true);
            MenuItem item2 = new MenuItem();

            item2.Header      = "Open";
            item2.DataContext = filename + "?Open";
            item2.AddHandler(MenuItem.MouseUpEvent, new MouseButtonEventHandler(Open_Click), true);
            MenuItem item3 = new MenuItem();

            item3.Header      = "Remove";
            item3.DataContext = filename + "?Remove";
            item3.AddHandler(MenuItem.MouseUpEvent, new MouseButtonEventHandler(Remove_Click), true);
            MenuItem item4 = new MenuItem();

            item4.Header      = "Details";
            item4.DataContext = filename + "?Details";
            item4.AddHandler(MenuItem.MouseUpEvent, new MouseButtonEventHandler(Details_Click), true);
            menu.Items.Add(item1);
            if (type == 1)
            {
                item1.Header = "Update";
                menu.Items.Add(item2);
            }
            menu.Items.Add(item3);
            menu.Items.Add(item4);
            image.ContextMenu = menu;

            Label label = new Label();

            label.Content                    = filename;
            label.Height                     = 20;
            label.VerticalAlignment          = VerticalAlignment.Bottom;
            label.HorizontalContentAlignment = HorizontalAlignment.Center;
            label.VerticalContentAlignment   = VerticalAlignment.Center;
            label.FontSize                   = 9;

            gridFiles.Children.Add(image);
            gridFiles.Children.Add(label);
            Grid.SetRow(image, row);
            Grid.SetRow(label, row);
            Grid.SetColumn(image, column);
            Grid.SetColumn(label, column);
        }