public static IndexBrowser MakeIndexBrowser (Browser browser) { IndexReader ir = browser.help_tree.GetIndex (); if (ir == null) { return new IndexBrowser (browser); } return new IndexBrowser (browser, ir); }
IndexBrowser (Browser parent) { browser = parent; ppanel = new ProgressPanel ("<b>No index found</b>", "Generate", RootTree.MakeIndex, NewIndexCreated); browser.index_vbox.Add (ppanel); browser.index_vbox.Show (); }
About (Browser parent) { Glade.XML ui = new Glade.XML (null, "browser.glade", "about", null); ui.Autoconnect (this); this.parent = parent; about.TransientFor = parent.window1; Gdk.Pixbuf icon = new Gdk.Pixbuf (null, "monodoc.png"); if (icon != null) { about.Icon = icon; logo_image.Pixbuf = icon; } Assembly assembly = Assembly.GetExecutingAssembly (); label_version.Markup = String.Format ("<b>Version:</b> {0}", assembly.GetName ().Version.ToString ()); }
public NodePageVisit (Browser browser, Node n, string url) { if (n == null) throw new Exception ("N is null"); this.browser = browser; this.n = n; this.url = url; }
public static IHtmlRender GetRenderer (string engine, Browser browser) { IHtmlRender renderer = LoadRenderer (System.IO.Path.Combine (AppDomain.CurrentDomain.BaseDirectory, engine + "HtmlRender.dll"), browser); if (renderer != null) { try { if (renderer.Initialize ()) { Console.WriteLine ("using " + renderer.Name); return renderer; } } catch (Exception ex) { Console.Error.WriteLine (ex); } } foreach (string backend in Driver.engines) { if (backend != engine) { renderer = LoadRenderer (System.IO.Path.Combine (AppDomain.CurrentDomain.BaseDirectory, backend + "HtmlRender.dll"), browser); if (renderer != null) { try { if (renderer.Initialize ()) { Console.WriteLine ("using " + renderer.Name); return renderer; } } catch (Exception ex) { Console.Error.WriteLine (ex); } } } } return null; }
static int Main (string [] args) { string topic = null; bool remote_mode = false; string engine = engines[0]; string basedir = null; string mergeConfigFile = null; bool show_help = false, show_version = false; bool show_gui = true; var sources = new List<string> (); int r = 0; var p = new OptionSet () { { "docrootdir=", "Load documentation tree & sources from {DIR}. The default directory is $libdir/monodoc.", v => { basedir = v != null && v.Length > 0 ? v : null; string md; if (basedir != null && !File.Exists (Path.Combine (basedir, "monodoc.xml"))) { Error ("Missing required file monodoc.xml."); r = 1; } } }, { "docdir=", "Load documentation from {DIR}.", v => sources.Add (v) }, { "edit=", "Edit mdoc(5) XML documentation found within {PATH}.", v => RootTree.UncompiledHelpSources.Add (v) }, { "engine=", "Specify which HTML rendering {ENGINE} to use:\n" + " " + string.Join ("\n ", engines) + "\n" + "If the chosen engine isn't available " + "(or you\nhaven't chosen one), monodoc will fallback to the next " + "one on the list until one is found.", v => engine = v }, { "html=", "Write to stdout the HTML documentation for {CREF}.", v => { show_gui = false; Node n; RootTree help_tree = LoadTree (basedir, sources); string res = help_tree.RenderUrl (v, out n); if (res != null) Console.WriteLine (res); else { Error ("Could not find topic: {0}", v); r = 1; } } }, { "make-index", "Generate a documentation index. Requires write permission to $libdir/monodoc.", v => { show_gui = false; RootTree.MakeIndex (); } }, { "make-search-index", "Generate a search index. Requires write permission to $libdir/monodoc.", v => { show_gui = false; RootTree.MakeSearchIndex () ; } }, { "merge-changes=", "Merge documentation changes found within {FILE} and target directories.", v => { show_gui = false; if (v != null) mergeConfigFile = v; else { Error ("Missing config file for --merge-changes."); r = 1; } } }, { "remote-mode", "Accept CREFs from stdin to display in the browser.\n" + "For MonoDevelop integration.", v => remote_mode = v != null }, { "about|version", "Write version information and exit.", v => show_version = v != null }, { "h|?|help", "Show this message and exit.", v => show_help = v != null }, }; List<string> topics = p.Parse (args); if (show_version) { Console.WriteLine ("Mono Documentation Browser"); Version ver = Assembly.GetExecutingAssembly ().GetName ().Version; if (ver != null) Console.WriteLine (ver.ToString ()); return r; } if (show_help) { Console.WriteLine ("usage: monodoc [--html TOPIC] [--make-index] [--make-search-index] [--merge-changes CHANGE_FILE TARGET_DIR+] [--about] [--edit path] [--remote-mode] [--engine engine] [TOPIC]"); p.WriteOptionDescriptions (Console.Out); return r; } if (mergeConfigFile != null) { ArrayList targetDirs = new ArrayList (); for (int i = 0; i < topics.Count; i++) targetDirs.Add (topics [i]); EditMerger e = new EditMerger ( GlobalChangeset.LoadFromFile (mergeConfigFile), targetDirs ); e.Merge (); return 0; } if (r != 0 || !show_gui) return r; SettingsHandler.CheckUpgrade (); Settings.RunningGUI = true; Application.Init (); Browser browser = new Browser (basedir, sources, engine); if (topic != null) browser.LoadUrl (topic); Thread in_thread = null; if (remote_mode) { in_thread = new Thread (delegate () { while (true) { string url = Console.ReadLine (); if (url == null) return; Gtk.Application.Invoke (delegate { browser.LoadUrl (url); browser.MainWindow.Present (); }); } }); in_thread.Start (); } Application.Run (); if (in_thread != null) in_thread.Abort (); return 0; }
NewComment (Browser browser) { Glade.XML ui = new Glade.XML (null, "browser.glade", "newcomment", null); ui.Autoconnect (this); parent = browser; newcomment.TransientFor = browser.window1; }
private static IHtmlRender LoadRenderer (string dll, Browser browser) { if (!System.IO.File.Exists (dll)) return null; try { Assembly ass = Assembly.LoadFile (dll); System.Type type = ass.GetType ("Monodoc." + ass.GetName ().Name, false, false); if (type == null) return null; return (IHtmlRender) Activator.CreateInstance (type, new object[1] { browser.help_tree }); } catch (Exception ex) { Console.Error.WriteLine (ex); } return null; }
public static void Run (Browser browser) { if (config_wizard == null) config_wizard = new ConfigWizard (browser); return; }
ConfigWizard (Browser browser) { tn = new ThreadNotify (new ReadyEvent (UpdateNotebookPage)); Glade.XML ui = new Glade.XML (null, "browser.glade", "window_config_wizard", null); ui.Autoconnect (this); //notebook.ShowTabs = false; parent = browser; window_config_wizard.TransientFor = browser.window1; d = new Contributions (); if (Environment.GetEnvironmentVariable ("MONODOCTESTING") == null) d.Url = "http://www.go-mono.com/docs/server.asmx"; notebook.Page = 8; war = (WebClientAsyncResult) d.BeginCheckVersion (1, new AsyncCallback (VersionChecked), null); }
Upload (Browser browser) { tn = new ThreadNotify (new ReadyEvent (Update)); Glade.XML ui = new Glade.XML (null, "browser.glade", "upload_dialog", null); ui.Autoconnect (this); d = new Contributions (); if (Environment.GetEnvironmentVariable ("MONODOCTESTING") == null) d.Url = "http://www.go-mono.com/docs/server.asmx"; status.Text = "Checking Server version"; war = (WebClientAsyncResult) d.BeginCheckVersion (1, new AsyncCallback (VersionChecked), null); }
public static void Run (Browser browser) { new Upload (browser); }
static public void Show (Browser parent) { if (AboutBox == null) AboutBox = new About (parent); AboutBox.about.Show (); }
IndexBrowser (Browser parent, IndexReader ir) { browser = parent; index_reader = ir; CreateWidget (); }
static public void Show (Browser browser) { if (NewCommentBox == null) NewCommentBox = new NewComment (browser); NewCommentBox.newcomment.Show (); }
public MatchModel (IndexBrowser parent) { index_browser = parent; browser = parent.browser; }
Lookup (Browser browser) { Glade.XML ui = new Glade.XML (null, "browser.glade", "lookup", null); ui.Autoconnect (this); parent = browser; lookup.TransientFor = browser.window1; }
public static IHtmlRender GetRenderer (string engine, Browser browser) { var renderer = new GtkHtmlHtmlRender (browser.help_tree); renderer.Initialize (); return renderer; }
static public void Show (Browser browser) { if (LookupBox == null) LookupBox = new Lookup (browser); LookupBox.lookup.Show (); }
public Tab(Browser br) { browser = br; CurrentNode = br.help_tree; ShowTabs = false; ShowBorder = false; TabBorder = 0; TabHborder = 0; history = new History (browser.back_button, browser.forward_button); // // First Page // ScrolledWindow html_container = new ScrolledWindow(); html_container.Show(); // // Setup the HTML rendering and preview area // html = GetRenderer (browser.engine, browser); html_preview = GetRenderer (browser.engine, browser); if (html == null || html_preview == null) throw new Exception ("Couldn't find html renderer!"); browser.capabilities = html.Capabilities; HelpSource.FullHtml = false; HelpSource.UseWebdocCache = true; if ((html.Capabilities & Capabilities.Css) != 0) HelpSource.use_css = true; //Prepare Font for css (TODO: use GConf?) if ((html.Capabilities & Capabilities.Fonts) != 0 && SettingsHandler.Settings.preferred_font_size == 0) { Pango.FontDescription font_desc = Pango.FontDescription.FromString ("Sans 12"); SettingsHandler.Settings.preferred_font_family = font_desc.Family; SettingsHandler.Settings.preferred_font_size = 100; //size: 100% } html_container.Add (html.HtmlPanel); html.UrlClicked += new EventHandler (browser.LinkClicked); html.OnUrl += new EventHandler (browser.OnUrlMouseOver); browser.context_id = browser.statusbar.GetContextId (""); AppendPage(html_container, new Label("Html")); // // Second Page: editing // VBox vbox1 = new VBox(false, 0); VBox MainPart = new VBox(false, 0); // // TextView for XML code // ScrolledWindow sw = new ScrolledWindow(); text_editor = new TextView(); text_editor.Buffer.Changed += new EventHandler (EditedTextChanged); text_editor.WrapMode = WrapMode.Word; sw.Add(text_editor); text_editor.FocusOutEvent += new FocusOutEventHandler (FocusOut); // // XML editing buttons // HBox EdBots = new HBox(false, 2); Button button1 = new Button("<e_xample>"); EdBots.PackStart(button1); Button button2 = new Button("<list>"); EdBots.PackStart(button2); Button button3 = new Button("<_table>"); EdBots.PackStart(button3); Button button4 = new Button("<_see...>"); EdBots.PackStart(button4); Button button5 = new Button("<_para>"); EdBots.PackStart(button5); Button button6 = new Button("Add Note"); EdBots.PackStart(button6); button1.Clicked += new EventHandler (OnInsertExampleClicked); button2.Clicked += new EventHandler (OnInsertListClicked); button3.Clicked += new EventHandler (OnInsertTableClicked); button4.Clicked += new EventHandler (OnInsertType); button5.Clicked += new EventHandler (OnInsertParaClicked); button6.Clicked += new EventHandler (OnInsertNoteClicked); Frame html_preview_frame = new Frame("Preview"); ScrolledWindow html_preview_container = new ScrolledWindow(); // // code preview panel // html_preview_container.Add (html_preview.HtmlPanel); html_preview_frame.Add(html_preview_container); MainPart.PackStart(sw); MainPart.PackStart(EdBots, false, false, 0); MainPart.PackStart(html_preview_frame); // // Close and Save buttons // HBox MainBots = new HBox(false, 3); HBox Filling = new HBox(false, 0); Button close = new Button("C_lose"); Button save = new Button("S_ave"); Button restore = new Button("_Restore"); close.Clicked += new EventHandler (OnCancelEdits); save.Clicked += new EventHandler (OnSaveEdits); restore.Clicked += new EventHandler (OnRestoreEdits); MainBots.PackStart(Filling); MainBots.PackStart(close, false, false, 0); MainBots.PackStart(save, false, false, 0); MainBots.PackStart(restore, false, false, 0); vbox1.PackStart(MainPart); vbox1.PackStart(MainBots, false, false, 0); AppendPage(vbox1, new Label("Edit XML")); // //Create the Label for the Tab // TabLabel = new HBox(false, 2); titleLabel = new Label(""); //Close Tab button Button tabClose = new Button(); Image img = new Image(Stock.Close, IconSize.SmallToolbar); tabClose.Add(img); tabClose.Relief = Gtk.ReliefStyle.None; tabClose.SetSizeRequest (18, 18); tabClose.Clicked += new EventHandler (browser.OnCloseTab); //Icon showed when the Tab is in Edit Mode EditImg = new Image (Stock.Convert, IconSize.SmallToolbar); TabLabel.PackStart (EditImg, false, true, 2); TabLabel.PackStart (titleLabel, true, true, 0); TabLabel.PackStart (tabClose, false, false, 2); // needed, otherwise even calling show_all on the notebook won't // make the hbox contents appear. TabLabel.ShowAll(); EditImg.Visible = false; }
public TreeBrowser (RootTree help_tree, TreeView reference_tree, Browser browser) { this.browser = browser; tree_view = reference_tree; iter_to_node = new Hashtable (); node_to_iter = new Hashtable (); node_parent = new Hashtable (); // Setup the TreeView tree_view.AppendColumn ("name_col", new CellRendererText (), "text", 0); // Bind events tree_view.RowExpanded += new Gtk.RowExpandedHandler (RowExpanded); tree_view.Selection.Changed += new EventHandler (RowActivated); tree_view.RowActivated += new Gtk.RowActivatedHandler (RowClicked); // Setup the model this.help_tree = help_tree; store = new TreeStore (typeof (string)); root_iter = store.AppendValues ("Mono Documentation"); iter_to_node [root_iter] = help_tree; node_to_iter [help_tree] = root_iter; PopulateNode (help_tree, root_iter); reference_tree.Model = store; }
public LinkPageVisit (Browser browser, string url) { this.browser = browser; this.url = url; }
public BookmarkManager (Browser browser){ _Browser = browser; #if DEBUG Console.WriteLine ("Bookmark Manager init"); #endif // discovering bookmark file bookmark_file = Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData); bookmark_file = System.IO.Path.Combine (bookmark_file, "monodoc"); bookmark_file = System.IO.Path.Combine (bookmark_file, "bookmarks.xml"); // creating serializer serializer = new XmlSerializer (typeof (BookmarkGroup)); // trying to load saved bookmarks try { Load (); }catch (Exception e) { // no bookmarks found, creating new root root_group = new BookmarkGroup (ROOT_NAME); } current_bookmark_group = ROOT_NAME; menu_to_id = new Hashtable (); BuildMenu (_Browser.bookmarksMenu); }