示例#1
0
 public static void SetObservedItemsSource(ToolBarTray frameworkElement, IEnumerable <ToolBar> observedItemsSource)
 {
     frameworkElement.SetValue(ObservedItemsSourceProperty, observedItemsSource);
     if (GetObserve(frameworkElement))
     {
         UpdateObservedValuesForFrameworkElement(frameworkElement);
     }
 }
示例#2
0
        /// <summary>
        /// Sets a collection used to populate the content of the specified <see cref="ToolBarTray"/>.
        /// </summary>
        /// <param name="tray">The <see cref="ToolBarTray"/> for which to set the collection.</param>
        /// <param name="value">A collection to use to populate the content of the <paramref name="tray"/>.</param>
        public static void SetSource(ToolBarTray tray, IEnumerable value)
        {
            Requires.NotNull(tray, nameof(tray));

            tray.SetValue(SourceProperty, value);
        }
示例#3
0
 public static void SetObserve(ToolBarTray frameworkElement, bool observe)
 {
     frameworkElement.SetValue(ObserveProperty, observe);
 }
示例#4
0
        private void InitializeComponent(IConnectionConfiguration cfg)
        {
            this.Width  = 1280;
            this.Height = 768;

            Button btnHome    = WpfUtils.NewImageButton(SqlCommands.Home, "Home", $"Home(Alt-H): {cfg.Home}", "Home_16x16.png");
            Button btnNew     = WpfUtils.NewImageButton(ApplicationCommands.New, "New", "New(Ctrl-N)", "New_16x16.png");
            Button btnOpen    = WpfUtils.NewImageButton(ApplicationCommands.Open, "Open", "Open(Ctrl-O)", "Open_16x16.png");
            Button btnSave    = WpfUtils.NewImageButton(ApplicationCommands.Save, "Save", "Save(Ctrl-S)", "Save_16x16.png");
            Button btnExecute = WpfUtils.NewImageButton(SqlCommands.Execute, "Execute", "Execute(F5)", "Next_16x16.png");

            this.comboPath = new ComboBox {
                Width = 300, HorizontalAlignment = HorizontalAlignment.Right
            };
            this.comboPath.SelectionChanged += ComboPath_SelectionChanged;
            DockPanel dockPanel = new DockPanel();

            this.Content = dockPanel;


            //Tool bar
            ToolBarTray tray = new ToolBarTray();

            tray.SetValue(DockPanel.DockProperty, Dock.Top);
            dockPanel.Children.Add(tray);

            ToolBar toolBar;

            tray.ToolBars.Add(toolBar = new ToolBar());
            toolBar.Items.Add(btnHome);
            tray.ToolBars.Add(toolBar = new ToolBar());
            toolBar.Items.Add(btnNew);
            toolBar.Items.Add(btnOpen);
            toolBar.Items.Add(btnSave);
            tray.ToolBars.Add(toolBar = new ToolBar());
            toolBar.Items.Add(btnExecute);
            tray.ToolBars.Add(toolBar = new ToolBar());
            toolBar.Items.Add(comboPath);

            //status bar
            StatusBar statusBar = new StatusBar {
                Height = 20
            };

            statusBar.Items.Add(new StatusBarItem {
                Content = lblMessage, HorizontalAlignment = HorizontalAlignment.Left
            });
            statusBar.Items.Add(new StatusBarItem {
                Content = lblCursorPosition, HorizontalAlignment = HorizontalAlignment.Right
            });
            statusBar.SetValue(DockPanel.DockProperty, Dock.Bottom);
            dockPanel.Children.Add(statusBar);


            #region tree, editor and results
            Grid grid = new Grid();
            dockPanel.Children.Add(grid);

            grid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = GridLength.Auto
            });
            grid.ColumnDefinitions.Add(new ColumnDefinition {
                Width = new GridLength(5)
            });
            grid.ColumnDefinitions.Add(new ColumnDefinition());

            Grid grid1 = new Grid();
            grid1.RowDefinitions.Add(new RowDefinition {
                Height = new GridLength(25)
            });
            grid1.RowDefinitions.Add(new RowDefinition());

            GridSplitter vSplitter = new GridSplitter {
                Width = 5, VerticalAlignment = VerticalAlignment.Stretch
            };
            scriptTabControl = new ScriptResultControl(this);

            grid1.SetValue(Grid.ColumnProperty, 0);
            vSplitter.SetValue(Grid.ColumnProperty, 1);
            scriptTabControl.SetValue(Grid.ColumnProperty, 2);

            grid.Children.Add(grid1);
            grid.Children.Add(vSplitter);
            grid.Children.Add(scriptTabControl);

            textFilter = new TextBox
            {
                Margin              = new Thickness(2),
                ToolTip             = "Search table name",
                HorizontalAlignment = HorizontalAlignment.Stretch,
            };
            textFilter.TextChanged += TextFilter_TextChanged;

            //Database Tree
            this.treeView = new DbTreeUI
            {
                //Width = 160,
                Foreground          = Brushes.White,
                Background          = Brushes.Black,
                HorizontalAlignment = HorizontalAlignment.Stretch,
                VerticalAlignment   = VerticalAlignment.Stretch,
                MinWidth            = 120,
            };

            //Style style = new Style(typeof(TreeViewItem));
            //style.Setters.Add(new Setter { Property = Control.ForegroundProperty, Value = Brushes.White });
            //style.Setters.Add(new Setter { Property = Control.BackgroundProperty, Value = Brushes.Black });
            //style.Resources.Add(SystemColors.ControlBrushKey, Brushes.Black);
            //treeView.ItemContainerStyle = style;

            textFilter.SetValue(Grid.RowProperty, 0);
            treeView.SetValue(Grid.RowProperty, 1);
            grid1.Children.Add(textFilter);
            grid1.Children.Add(treeView);

            treeView.CreateTree(cfg);
            treeView.PathChanged += TreeView_PathChanged;

            #endregion


            CommandBinding    binding;
            RoutedUICommand[] commands = new RoutedUICommand[]
            {
                ApplicationCommands.New,
                ApplicationCommands.Open,
                ApplicationCommands.Save,
                SqlCommands.Home,
                SqlCommands.Execute,
                SqlCommands.Select,
                SqlCommands.Select1000,
            };

            foreach (var cmd in commands)
            {
                binding             = new CommandBinding(cmd);
                binding.Executed   += commandExecute;
                binding.CanExecute += commandCanExecute;
                this.CommandBindings.Add(binding);
            }
        }