Пример #1
0
        public static WinForms.Panel    create_WinForms_Window(this string title, VSFRAMEMODE frameMode)
        {
            var visualStudio = new VisualStudio_2010();
            var _panel       = visualStudio.invokeOnThread(
                () =>
            {
                var type   = typeof(O2.FluentSharp.VisualStudio.WindowPane_WinForms);
                var window = (ToolWindowPane)visualStudio.package().invoke("CreateToolWindow", type, 64000.random());

                window.Caption             = title;
                IVsWindowFrame windowFrame = (IVsWindowFrame)window.Frame;
                //if(floating)
                //    windowFrame.SetProperty((int)__VSFPROPID.VSFPROPID_FrameMode, VSFRAMEMODE.VSFM_Float);
                windowFrame.SetProperty((int)__VSFPROPID.VSFPROPID_FrameMode, frameMode);
                windowFrame.Show();
                var content         = (Control_WinForms)window.Content;
                var windowsFormHost = (System.Windows.Forms.Integration.WindowsFormsHost)content.Content;
                var panel           = new WinForms.Panel();
                panel.backColor("Control");
                windowsFormHost.Child = panel;
                return(panel);
            });

            return(_panel);
        }
Пример #2
0
 public static VisualStudio_2010 invokeOnThread(this VisualStudio_2010 visualStudio, Action action)
 {
     return((VisualStudio_2010)System.Windows.Application.Current.wpfInvoke(() =>
     {
         action();
         return visualStudio;
     }));
 }
Пример #3
0
        public static string activeDocument_FullName(this VisualStudio_2010 visualStudio)
        {
            var activeDocument = visualStudio.activeDocument();

            if (activeDocument.notNull())
            {
                return(activeDocument.FullName);
            }
            return(null);
        }
Пример #4
0
        public static List <WindowBase> windows(this VisualStudio_2010 visualStudio)
        {
            var windows = new List <WindowBase>();

            foreach (WindowBase window in visualStudio.dte().Windows)
            {
                windows.Add(window);
            }
            return(windows);
        }
        //This doesn't have a good performance and returns all controls (400+ of them)
        public static List <CommandBar> menus(this VisualStudio_2010 visualStudio)
        {
            var menus = new List <CommandBar>();

            foreach (CommandBar commandBar in (CommandBars)visualStudio.dte().CommandBars)
            {
                menus.Add(commandBar);
            }
            return(menus);
        }
Пример #6
0
        public static EnvDTE.OutputWindowPane outputWindow_Create(this VisualStudio_2010 visualStudio, string name)
        {
            var outputWindow = visualStudio.outputWindow(name);

            if (outputWindow.notNull())
            {
                "[create_OutputWindow] there was already an output window called '{0}' so returning the existing one".debug(name);
                return(outputWindow);
            }
            return(visualStudio.dte().outputWindow_Create(name, true));
        }
Пример #7
0
 public static EnvDTE.OutputWindowPane outputWindow(this VisualStudio_2010 visualStudio, string name)
 {
     try
     {
         return(visualStudio.dte().ToolWindows.OutputWindow.OutputWindowPanes.Item(name));
     }
     catch
     {
         "could not find output Window with name: {0}".error(name);
         return(null);
     }
 }
Пример #8
0
        public static EnvDTE.Document document(this VisualStudio_2010 visualStudio, string path)
        {
            //first search by fullpath
            var match = (EnvDTE.Document)(from document in visualStudio.documents()
                                          where document.FullName == path
                                          select document).first();

            if (match.notNull())
            {
                return(match);
            }

            //then by filename
            return((EnvDTE.Document)(from document in visualStudio.documents()
                                     where document.FullName.fileName() == path
                                     select document).first());
        }
Пример #9
0
        public static EnvDTE.OutputWindowPane outputWindow_Create(this VisualStudio_2010 visualStudio, string name)
        {
            var outputWindow = visualStudio.outputWindow(name);

            if (outputWindow.notNull())
            {
                "[create_OutputWindow] there was already an output window called '{0}' so returning the existing one".debug(name);
                return(outputWindow);
            }
            try
            {
                return(visualStudio.dte().ToolWindows.OutputWindow.OutputWindowPanes.Add(name));
            }
            catch (Exception ex)
            {
                ex.log("[in create_OutputWindow]");
                return(null);
            }
        }
Пример #10
0
        public static Grid create_WPF_Window(this string title, ref ToolWindowPane toolWindow)
        {
            var            visualStudio = new VisualStudio_2010();
            ToolWindowPane window       = null;
            var            grid         = visualStudio.invokeOnThread(
                () => {
                var type                   = typeof(O2.FluentSharp.VisualStudio.WindowPane_WPF);
                window                     = (ToolWindowPane)visualStudio.package().invoke("CreateToolWindow", type, ++lastWindowId);
                window.Caption             = title;
                IVsWindowFrame windowFrame = (IVsWindowFrame)window.Frame;
                windowFrame.Show();
                var content = (Control_WPF)window.Content;

                return((Grid)content.Content);
            });

            toolWindow = window;
            return(grid);
        }
Пример #11
0
        public static O2.XRules.Database.Utils.ascx_Simple_Script_Editor open_ScriptEditor_With_VisualStudio_CodeSample(this VisualStudio_2010 visualStudio)
        {
            var defaultCode =
                @"//get a reference to the VisualStudio API
var visualStudio = new VisualStudio_2010();

//write an Error and Warning messages to the 'Error List' VisualStudio Window
visualStudio.errorList().add_Error(""I'm an Error"");
visualStudio.errorList().add_Warning(""I'm an Warning"");					    

//open a text file
visualStudio.open_Document(""a text file"".saveWithExtension("".exe""));

//open a C# file
visualStudio.open_Document(@""VS_Scripts\O2_Platform_Gui.cs"".local());

//open a WebBrowser
visualStudio.open_WebBrowser(@""http://www.google.com"");

//add a top Menu
visualStudio.dte().add_TopMenu(""A new Menu"")
				  .add_Menu_Button(""Ask me a question"", ()=> ""Hi {0}"".alert(""What is your name?"".askUser()));

//change the main title				  
visualStudio.mainWindow().title(visualStudio.mainWindow().title()  + "" - Now with REPL"");

//change the status bar
visualStudio.statusBar(""C# script example complete"");

//return the EnvDTE object
return visualStudio.dte();";

            return(visualStudio.open_ScriptEditor().set_Code(defaultCode));
        }
Пример #12
0
        public static O2.XRules.Database.Utils.ascx_Simple_Script_Editor open_ScriptEditor_With_VisualStudio_API(this VisualStudio_2010 visualStudio)
        {
            var defaultCode =
                @"var visualStudio = new VisualStudio_2010();
return visualStudio.dte();";

            return(visualStudio.open_ScriptEditor().set_Code(defaultCode));
        }
Пример #13
0
 public static VisualStudio_2010 statusBar(this VisualStudio_2010 visualStudio, string text)
 {
     visualStudio.dte().StatusBar.Text = text;
     return(visualStudio);
 }
Пример #14
0
 public static DTE2 dte(this VisualStudio_2010 visualStudio)
 {
     return(VisualStudio_2010.DTE2);
 }
Пример #15
0
 public static Document activeDocument(this VisualStudio_2010 visualStudio)
 {
     return(VisualStudio_2010.DTE2.ActiveDocument);
 }
Пример #16
0
 public static WinForms.Panel open_Panel(this VisualStudio_2010 visualStudio, string title = "Title")
 {
     return(visualStudio.open_Control <WinForms.Panel>(title));
 }
Пример #17
0
        public static T open_Control <T>(this VisualStudio_2010 visualStudio, string title) where T : WinForms.Control
        {
            var panel = title.create_WinForms_Window_Float();

            return(panel.add_Control <T>());
        }
Пример #18
0
 //WinForms Guis
 public static T open_Control <T>(this VisualStudio_2010 visualStudio) where T : WinForms.Control
 {
     return(visualStudio.open_Control <T>("{0}".format(typeof(T).Name)));
 }
Пример #19
0
 public static WindowBase                get_Window(this VisualStudio_2010 visualStudio, string caption)
 {
     return(visualStudio.window(caption));
 }
Пример #20
0
 public static WindowBase                window(this VisualStudio_2010 visualStudio, string caption)
 {
     return(visualStudio.windows().Where((window) => window.Caption == caption).first());
 }
Пример #21
0
 public static string activeFile(this VisualStudio_2010 visualStudio)
 {
     return(visualStudio.activeDocument_FullName());
 }
Пример #22
0
 public static WinForms.TreeView open_TreeView(this VisualStudio_2010 visualStudio)
 {
     return(visualStudio.open_Control <WinForms.TreeView>());
 }
 public TeamMentor_Gui()
 {
     visualStudio = new VisualStudio_2010();
 }
Пример #24
0
 public static EnvDTE.CommandWindow commandWindow(this VisualStudio_2010 visualStudio)
 {
     return(visualStudio.dte().ToolWindows.CommandWindow);
 }
Пример #25
0
 public static Window open_WebBrowser(this VisualStudio_2010 visualStudio, string url)
 {
     return(visualStudio.dte()
            .ItemOperations
            .Navigate(url, EnvDTE.vsNavigateOptions.vsNavigateOptionsNewWindow));
 }
Пример #26
0
 public static string statusBar(this VisualStudio_2010 visualStudio)
 {
     return(visualStudio.dte().StatusBar.Text);
 }
Пример #27
0
        //O2 Guis
        public static O2.Views.ASCX.Ascx.MainGUI.ascx_LogViewer open_LogViewer(this VisualStudio_2010 visualStudio)
        {
            var logViewer = "O2 LogViewer".create_WinForms_Window_Float().add_LogViewer();

            return(logViewer);
        }
Пример #28
0
 public static EnvDTE.OutputWindowPane outputWindow(this VisualStudio_2010 visualStudio)
 {
     return(visualStudio.dte().ToolWindows.OutputWindow.ActivePane);
 }
Пример #29
0
 public static O2.XRules.Database.Utils.ascx_Simple_Script_Editor open_ScriptEditor(this VisualStudio_2010 visualStudio)
 {
     return("C# REPL Script".create_WinForms_Window_Float(800, 400).add_Script(true));
 }
Пример #30
0
 //VisualStudio Guis
 public static IVsWindowFrame open_Document(this VisualStudio_2010 visualStudio, string file)
 {
     return(file.open_Document());
 }
Пример #31
0
 public static WinForms.Panel    create_WinForms_Window_Float(this VisualStudio_2010 visualStudio, string title)
 {
     return(title.create_WinForms_Window_Float());
 }