Exemplo n.º 1
0
        private void ShowNewQueryWindow(string fileName,
                                        bool show,
                                        Dictionary <string, ParameterResolver> resolvers)
        {
            if (QueryWindows.Activate(fileName))
            {
                return;
            }


            QueryModel       queryModel = new QueryModel(this.Model);
            QueryEditorModel editor     = new QueryEditorModel();

            editor.ParameterResolvers = resolvers;
            editor.LoadFile(fileName);
            QueryEditorView view = new QueryEditorView(editor, queryModel);

            QueryWindows.Create(view, show);

            // Add to the menu collection.
            MenuItem newMenu = new MenuItem();

            newMenu.Click      += (s, eargs) => QueryWindows.Activate(view);
            newMenu.DataContext = view;
            Binding b = new Binding("Title");

            b.Source = view;
            newMenu.SetBinding(MenuItem.HeaderProperty, b);
            int index = QueryWindows.Count();

            if (String.IsNullOrEmpty(fileName))
            {
                //  Add ":" to give create an invalid filename.
                view.Title = string.Format("{0}{1}New Query", index, QueryEditorView.TitleSeperator);
            }
            else
            {
                view.Title = string.Format("{0}{1}{2}", index, QueryEditorView.TitleSeperator, fileName);
            }

            this.QueriesMenu.Items.Add(newMenu);

            // Remove from the menu collection upon close.
            CancelEventHandler closeHandler = (sender, args) =>
            {
                QueryWindows.Activate(view);
                view.Close(args);
            };

            queryModel.OnDisposed += (s, e1) =>
            {
                this.QueriesMenu.Items.Remove(newMenu);
                QueryWindows.Remove(view);
                MainModel.CloseEventHandler -= closeHandler;
            };


            MainModel.CloseEventHandler += closeHandler;
        }
Exemplo n.º 2
0
 internal static void Activate(QueryEditorView view)
 {
     if (windows.ContainsKey(view))
     {
         Window w = windows[view];
         w.Show();
         w.Activate();
     }
 }
Exemplo n.º 3
0
 internal QueryWindow(QueryEditorView view)
     : this()
 {
     this.View = view;
     view.QueryModel.RunCommand.CanExecuteTargets += () => !view.QueryModel.IsBusy;
     view.QueryModel.RunCommand.ExecuteTargets    += (o) => ExecuteRunQuery(o);
     view.ExitCommand.CanExecuteTargets           += () => true;
     view.ExitCommand.ExecuteTargets += (o) =>
     {
         this.Close();
     };
 }
Exemplo n.º 4
0
        private static void CreateNewWindow(
            QueryEditorView view,
            bool showWindow)
        {
            QueryWindow window = new QueryWindow(view);

            windows[view] = window; //Add to the window collection.
            if (showWindow)
            {
                window.Show();
            }
        }
Exemplo n.º 5
0
 internal QueryWindow(QueryEditorView view)
     : this()
 {
     this.View = view;
     view.QueryModel.RunCommand.CanExecuteTargets += () => !view.QueryModel.IsBusy;
     view.QueryModel.RunCommand.ExecuteTargets += (o) => ExecuteRunQuery(o);
     view.ExitCommand.CanExecuteTargets += () => true;
     view.ExitCommand.ExecuteTargets += (o) =>
     {
         this.Close();
     };
 }
Exemplo n.º 6
0
        void Ealdor_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (e.NewValue is QueryEditorView)
            {
                this.View  = (QueryEditorView)e.NewValue;
                this.Model = this.View.EditorModel;

                this.View.ShowFileExplorerCommand.CanExecuteTargets += () => this.FileExplorer.Visibility != Visibility.Visible;
                this.View.ShowFileExplorerCommand.ExecuteTargets    += (o) =>
                {
                    this.FileExplorer.Visibility = System.Windows.Visibility.Visible;
                };

                this.View.ShowWizardCommand.CanExecuteTargets += () => this.Wizard.Visibility != Visibility.Visible && this.Model.Template != null;
                this.View.ShowWizardCommand.ExecuteTargets    += (o) =>
                {
                    if (this.Model.Parameters.Count > 0)
                    {
                        this.Wizard.Visibility = System.Windows.Visibility.Visible;
                    }
                };

                this.View.SaveAsCommand.CanExecuteTargets += () => true;
                this.View.SaveAsCommand.ExecuteTargets    += (s) =>
                {
                    SaveFileDialog saveDialog = new SaveFileDialog();
                    saveDialog.FileName   = String.IsNullOrEmpty(this.Model.FileName) ? "Query" : this.Model.FileName;
                    saveDialog.DefaultExt = ".linq";
                    saveDialog.Filter     = "Linq documents (.linq)|*.linq";
                    if (saveDialog.ShowDialog() == true)
                    {
                        this.Model.FileName = saveDialog.FileName;
                        this.Model.Save();
                    }
                };

                this.QueryEditor.DataContext = this.View;

                if (this.Model.FileName != null)
                {
                    if (File.Exists(this.Model.FileName))
                    {
                        this.FileExplorer.DirectoryRoot = this.Model.FileName;
                        this.Model.LoadFile(this.Model.FileName);
                    }
                }
            }
        }
Exemplo n.º 7
0
 internal static void Remove(QueryEditorView model)
 {
     windows.Remove(model);
 }
Exemplo n.º 8
0
 internal static void Create(QueryEditorView view, bool show)
 {
     CreateNewWindow(view, show);
 }
Exemplo n.º 9
0
        private void ShowNewQueryWindow(string fileName,
            bool show,
            Dictionary<string, ParameterResolver> resolvers)
        {
            if (QueryWindows.Activate(fileName))
            {
                return;
            }

            QueryModel queryModel = new QueryModel(this.Model);
            QueryEditorModel editor = new QueryEditorModel();
            editor.ParameterResolvers = resolvers;
            editor.LoadFile(fileName);
            QueryEditorView view = new QueryEditorView(editor, queryModel);
            QueryWindows.Create(view, show);

            // Add to the menu collection.
            MenuItem newMenu = new MenuItem();
            newMenu.Click += (s, eargs) => QueryWindows.Activate(view);
            newMenu.DataContext = view;
            Binding b = new Binding("Title");
            b.Source = view;
            newMenu.SetBinding(MenuItem.HeaderProperty, b);
            int index = QueryWindows.Count();
            if (String.IsNullOrEmpty(fileName))
            {
                //  Add ":" to give create an invalid filename.
                view.Title = string.Format("{0}{1}New Query", index, QueryEditorView.TitleSeperator);
            }
            else
            {
                view.Title = string.Format("{0}{1}{2}", index, QueryEditorView.TitleSeperator, fileName);
            }

            this.QueriesMenu.Items.Add(newMenu);

            // Remove from the menu collection upon close.
            CancelEventHandler closeHandler = (sender, args) =>
            {
                QueryWindows.Activate(view);
                view.Close(args);
            };

            queryModel.OnDisposed += (s, e1) =>
            {
                this.QueriesMenu.Items.Remove(newMenu);
                QueryWindows.Remove(view);
                MainModel.CloseEventHandler -= closeHandler;
            };

            MainModel.CloseEventHandler += closeHandler;
        }
Exemplo n.º 10
0
 private static void CreateNewWindow(
     QueryEditorView view,
     bool showWindow)
 {
     QueryWindow window = new QueryWindow(view);
     windows[view] = window; //Add to the window collection.
     if (showWindow)
     {
         window.Show();
     }
 }
Exemplo n.º 11
0
 internal static void Remove(QueryEditorView model)
 {
     windows.Remove(model);
 }
Exemplo n.º 12
0
 internal static void Create(QueryEditorView view, bool show)
 {
     CreateNewWindow(view, show);
 }
Exemplo n.º 13
0
 internal static void Activate(QueryEditorView view)
 {
     if (windows.ContainsKey(view))
     {
         Window w = windows[view];
         w.Show();
         w.Activate();
     }
 }