[Monodevelop-patches-list] r1063 - in branches/MonoDevelop-playground: . build build/data build/data/resources build/data/resources/icons data/resources src/Plugins src/Plugins/Content src/Plugins/FileBrowser src/Plugins/Node src/Plugins/Services src/Plugins/Workbench src/StartUp

commit-watcher at mono-cvs.ximian.com commit-watcher at mono-cvs.ximian.com
Sun Feb 29 08:22:01 EST 2004


Author: jzwart
Date: 2004-02-29 08:22:01 -0500 (Sun, 29 Feb 2004)
New Revision: 1063

Added:
   branches/MonoDevelop-playground/src/Plugins/Content/
   branches/MonoDevelop-playground/src/Plugins/Content/ContentManager.cs
   branches/MonoDevelop-playground/src/Plugins/Content/ContentManagerWidgetFactory.cs
   branches/MonoDevelop-playground/src/Plugins/Content/ContentPlugin.cs
   branches/MonoDevelop-playground/src/Plugins/Content/ContentView.cs
   branches/MonoDevelop-playground/src/Plugins/Content/INodeViewer.cs
   branches/MonoDevelop-playground/src/Plugins/Content/INodeViewerFactory.cs
   branches/MonoDevelop-playground/src/Plugins/Content/Makefile.am
   branches/MonoDevelop-playground/src/Plugins/Content/content.plugin.in
   branches/MonoDevelop-playground/src/Plugins/Content/content.ui
   branches/MonoDevelop-playground/src/Plugins/Node/
   branches/MonoDevelop-playground/src/Plugins/Node/Makefile.am
   branches/MonoDevelop-playground/src/Plugins/Node/Node.cs
   branches/MonoDevelop-playground/src/Plugins/Node/NodePlugin.cs
   branches/MonoDevelop-playground/src/Plugins/Node/node.plugin.in
   branches/MonoDevelop-playground/src/Plugins/Workbench/AboutDialog.cs
Modified:
   branches/MonoDevelop-playground/Makefile.am
   branches/MonoDevelop-playground/build/Makefile.am
   branches/MonoDevelop-playground/build/data/Makefile.am
   branches/MonoDevelop-playground/build/data/resources/Makefile.am
   branches/MonoDevelop-playground/build/data/resources/icons/Makefile.am
   branches/MonoDevelop-playground/configure.in
   branches/MonoDevelop-playground/data/resources/Makefile.am
   branches/MonoDevelop-playground/src/Plugins/FileBrowser/FileBrowser.cs
   branches/MonoDevelop-playground/src/Plugins/FileBrowser/FileBrowserWidgetFactory.cs
   branches/MonoDevelop-playground/src/Plugins/Makefile.am
   branches/MonoDevelop-playground/src/Plugins/Services/ResourceService.cs
   branches/MonoDevelop-playground/src/Plugins/Services/ServicesPlugin.cs
   branches/MonoDevelop-playground/src/Plugins/Workbench/Makefile.am
   branches/MonoDevelop-playground/src/Plugins/Workbench/Workbench.cs
   branches/MonoDevelop-playground/src/Plugins/Workbench/workbench.ui
   branches/MonoDevelop-playground/src/StartUp/Makefile.am
   branches/MonoDevelop-playground/src/StartUp/monodevelop.exe.config.in
Log:
Renabled the resources build. Moved to $prefix/share/monodevelop/resources. Also
added icons back to $prefix/share/monodevelop/images for now. About dialog works
again. Started with a Content plugin that will eventually display files (source
editor, html editor etc).


Modified: branches/MonoDevelop-playground/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -1,6 +1,6 @@
 # leave gdldock first
 # (mkdir ../../build/bin/ hack)
-SUBDIRS=gdldock libmonodevelop gtkmozembed-sharp src
+SUBDIRS=gdldock libmonodevelop gtkmozembed-sharp src data build
 
 bin_SCRIPTS=monodevelop
 

Modified: branches/MonoDevelop-playground/build/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/build/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/build/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -1,3 +1 @@
-SUBDIRS = data AddIns doc
-
-all:
+SUBDIRS = data

Modified: branches/MonoDevelop-playground/build/data/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/build/data/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/build/data/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -1 +1 @@
-SUBDIRS = resources options templates
+SUBDIRS = resources

Modified: branches/MonoDevelop-playground/build/data/resources/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/build/data/resources/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/build/data/resources/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -1 +1 @@
-SUBDIRS = css icons languages
+SUBDIRS = icons

Modified: branches/MonoDevelop-playground/build/data/resources/icons/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/build/data/resources/icons/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/build/data/resources/icons/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -305,4 +305,7 @@
 VB.Project.WebProject \
 gnome-fs-regular.png
 
+imagesdir = $(prefix)/share/monodevelop/images
+images_DATA = $(icons_DATA)
+
 EXTRA_DIST = $(icons_DATA)

Modified: branches/MonoDevelop-playground/configure.in
===================================================================
--- branches/MonoDevelop-playground/configure.in	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/configure.in	2004-02-29 13:22:01 UTC (rev 1063)
@@ -69,16 +69,16 @@
   packageprefix=${prefix}
 fi
 
-# Set the path to the plugins directory so we don't litter $(prefix)/lib :-)
+dnl Set paths
+monodevelop_images_dir="${packageprefix}/share/monodevelop/images"
 monodevelop_plugin_dir="${packageprefix}/lib/monodevelop/plugins"
+monodevelop_ui_dir="${packageprefix}/share/monodevelop/ui"
+monodevelop_resource_dir="${packageprefix}/share/monodevelop/resources"
+AC_SUBST(monodevelop_images_dir)
 AC_SUBST(monodevelop_plugin_dir)
-
-monodevelop_ui_dir="${packageprefix}/share/monodevelop/ui"
 AC_SUBST(monodevelop_ui_dir)
+AC_SUBST(monodevelop_resource_dir)
 
-monodevelop_images_dir="${packageprefix}/share/monodevelop/images"
-AC_SUBST(monodevelop_images_dir)
-
 AC_OUTPUT([
 Makefile
 libmonodevelop/Makefile
@@ -87,12 +87,21 @@
 gdldock/sources/Makefile
 gdldock/sources/gdl/Makefile
 gtkmozembed-sharp/Makefile
+build/Makefile
+build/data/Makefile
+build/data/resources/Makefile
+build/data/resources/icons/Makefile
+data/Makefile
+data/resources/Makefile
+data/resources/glade/Makefile
 src/Makefile
 src/StartUp/Makefile
 src/Plugins/Makefile
+src/Plugins/Node/Makefile
 src/Plugins/Services/Makefile
 src/Plugins/Workbench/Makefile
 src/Plugins/FileBrowser/Makefile
+src/Plugins/Content/Makefile
 monodevelop
 ])
 

Modified: branches/MonoDevelop-playground/data/resources/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/data/resources/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/data/resources/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -1,25 +1,33 @@
 SUBDIRS = glade
 
-EXTRA_DIST = AddIn.xsd \
-StringResources.fr.resources \
-BitmapResources.resources \
-StringResources.goisern.resources \
-StringResources.it.resources \
-StringResources.jp.resources \
-SplashScreen.png \
-StringResources.kr.resources \
-StringResources.bg.resources \
-StringResources.nl.resources \
-StringResources.br.resources \
-StringResources.pl.resources \
-StringResources.cn-big.resources \
-StringResources.pt.resources \
-StringResources.cn-gb.resources \
-StringResources.resources \
-StringResources.cz.resources \
-StringResources.ro.resources \
-StringResources.de.resources \
-StringResources.ru.resources \
-StringResources.dk.resources \
-StringResources.se.resources \
-StringResources.es.resources
+imagesdir = $(prefix)/share/monodevelop/images
+images_DATA = SplashScreen.png
+
+resourcedir = $(prefix)/share/monodevelop/resources
+resource_DATA = \
+	BitmapResources.resources \
+	StringResources.bg.resources \
+	StringResources.br.resources \
+	StringResources.cn-big.resources \
+	StringResources.cn-gb.resources \
+	StringResources.cz.resources \
+	StringResources.de.resources \
+	StringResources.dk.resources \
+	StringResources.es.resources \
+	StringResources.fr.resources \
+	StringResources.goisern.resources \
+	StringResources.it.resources \
+	StringResources.jp.resources \
+	StringResources.kr.resources \
+	StringResources.nl.resources \
+	StringResources.pl.resources \
+	StringResources.pt.resources \
+	StringResources.resources \
+	StringResources.ro.resources \
+	StringResources.ru.resources \
+	StringResources.se.resources
+
+EXTRA_DIST = \
+	AddIn.xsd \
+	$(images_DATA) \
+	$(resource_DATA)


Property changes on: branches/MonoDevelop-playground/src/Plugins/Content
___________________________________________________________________
Name: svn:ignore
   + Makefile
Makefile.in
content.plugin
content.dll


Added: branches/MonoDevelop-playground/src/Plugins/Content/ContentManager.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Content/ContentManager.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Content/ContentManager.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,67 @@
+//
+// ContentManager.cs: ContentManager (one instance per Workbench window) manages 
+// the display of open files in the Content Pane by providing one tab per file,
+// where each tab represents a ContentView that in turn uses one or more
+// NodeViewers to display the file content.
+//
+// Author:
+//   Jeroen Zwartepoorte <jeroen at xs4all.nl>
+//
+// (C) Copyright Jeroen Zwartepoorte 2004
+//
+
+using System;
+using System.Collections;
+using Gdk;
+using Gtk;
+using GtkSharp;
+using log4net;
+using MonoDevelop.Workbench;
+
+namespace MonoDevelop.Content {
+	public class ContentManager : Notebook {
+		private static readonly ILog log = LogManager.GetLogger (typeof (ContentManager));
+		private static ArrayList factories = new ArrayList ();
+
+		public ContentManager ()
+		{
+			AddActions ();
+		}
+		
+		private void AddActions ()
+		{
+			ActionGroup group = new ActionGroup ("ContentManager");
+			Action action;
+			
+			action = new Action ("FileOpenAction", "_Open...",
+					     "Open a file", Gtk.Stock.Open);
+			action.Activated += new EventHandler (OnOpen);
+			group.Add (action);
+		
+			Workbench.Workbench.AddActionGroup (group);
+			Workbench.Workbench.AddUiFromFile ("content.ui");
+		}
+
+		////////////////////////////////////////////////////////////////////////
+		// Event handlers
+		////////////////////////////////////////////////////////////////////////
+
+		private void OnOpen (object obj, EventArgs args)
+		{
+		}
+	
+		////////////////////////////////////////////////////////////////////////
+		// Static methods
+		////////////////////////////////////////////////////////////////////////
+	
+		public static void AddNodeViewerFactory (INodeViewerFactory factory)
+		{
+			factories.Add (factory);
+		}
+	
+		public static void RemoveNodeViewerFactory (INodeViewerFactory factory)
+		{
+			factories.Remove (factory);
+		}
+	}
+}

Added: branches/MonoDevelop-playground/src/Plugins/Content/ContentManagerWidgetFactory.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Content/ContentManagerWidgetFactory.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Content/ContentManagerWidgetFactory.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,48 @@
+//
+// ContentManagerWidgetFactory.cs: Factory for the ContentManager widget.
+//
+// Author:
+//   Jeroen Zwartepoorte <jeroen at xs4all.nl>
+//
+// (C) Copyright Jeroen Zwartepoorte 2004
+//
+
+using System;
+using log4net;
+using Gtk;
+using MonoDevelop.Workbench;
+
+namespace MonoDevelop.Content {
+	class ContentManagerWidgetFactory : IWorkbenchWidgetFactory {
+		private static readonly ILog log = LogManager.GetLogger (typeof (ContentManagerWidgetFactory));
+	
+		public string WidgetName {
+			get {
+				return "ContentPane";
+			}
+		}
+	
+		public string WidgetTitle {
+			get {
+				return "Content pane";
+			}
+		}
+		
+		public string WidgetIcon {
+			get {
+				return "gtk-justify-fill";
+			}
+		}
+		
+		public bool Dockable {
+			get {
+				return false;
+			}
+		}
+	
+		public Widget CreateWidget (Workbench workbench)
+		{
+			return new ContentManager ();
+		}
+	}
+}

Added: branches/MonoDevelop-playground/src/Plugins/Content/ContentPlugin.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Content/ContentPlugin.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Content/ContentPlugin.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,65 @@
+//
+// ContentPlugin.cs: Register the content plugin.
+//
+// Author:
+//   Jeroen Zwartepoorte <jeroen at xs4all.nl>
+//
+// (C) Copyright Jeroen Zwartepoorte 2004
+//
+
+using System;
+using log4net;
+using MonoDevelop;
+using MonoDevelop.Workbench;
+
+namespace MonoDevelop.Content {
+	class ContentPlugin : BasePlugin {
+		private static readonly ILog log = LogManager.GetLogger (typeof (ContentPlugin));
+	
+		public override string Author {
+			get {
+				return "Jeroen Zwartepoorte";
+			}
+		}
+		
+		public override string Copyright {
+			get {
+				return "GPL";
+			}
+		}
+		
+		public override string Description {
+			get {
+				return "Content viewer for displaying documents";
+			}
+		}
+		
+		public override string Name {
+			get {
+				return "content";
+			}
+		}
+		
+		public override string Url {
+			get {
+				return "http://www.xs4all.nl/~jeroen/";
+			}
+		}
+		
+		public override string Version {
+			get {
+				return "1.0";
+			}
+		}
+	
+		public override bool InitializePlugin (byte major, byte minor)
+		{
+			Workbench.Workbench.AddWidgetFactory (new ContentManagerWidgetFactory ());
+			return true;
+		}
+		
+		public override void FinalizePlugin ()
+		{
+		}
+	}
+}

Added: branches/MonoDevelop-playground/src/Plugins/Content/ContentView.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Content/ContentView.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Content/ContentView.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,24 @@
+//
+// ContentView.cs: Browser widget which displays Node's in a Notebook.
+//
+// Author:
+//   Jeroen Zwartepoorte <jeroen at xs4all.nl>
+//
+// (C) Copyright Jeroen Zwartepoorte 2004
+//
+
+using System;
+using Gtk;
+using log4net;
+
+namespace MonoDevelop.Content {
+	internal class ContentView : Gtk.Notebook {
+		private static readonly ILog log = LogManager.GetLogger (typeof (ContentView));
+		
+		public ContentView ()
+		{
+			InsertPage (new Label ("Content"), new Label ("Header"), 0);
+			InsertPage (new Label ("Another Content"), new Label ("Header 2"), 1);
+		}
+	}
+}

Added: branches/MonoDevelop-playground/src/Plugins/Content/INodeViewer.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Content/INodeViewer.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Content/INodeViewer.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,40 @@
+//
+// INodeViewer.cs: An implementation of the INodeViewer interface provides one 
+// view of the content for an open Node. The ContentManager creates ContentViews
+// for each open Node. The tabs at the top (or left if vertical orientation is
+// configured) of the ContentManager panel are for selecting a ContentView. 
+// Each ContentView uses tabs (at the bottom on its pane) for selecting among 
+// the available NodeViewer instances which can display the Node content.
+//
+// Author:
+//   Jeroen Zwartepoorte <jeroen at xs4all.nl>
+//
+// (C) Copyright Jeroen Zwartepoorte 2004
+//
+
+using Gtk;
+using System;
+
+namespace MonoDevelop.Content {
+	public interface INodeViewer {
+		Widget StructureWidget {
+			get;
+		}
+	
+		Widget ViewerWidget {
+			get;
+		}
+	
+		string ViewerDescription {
+			get;
+		}
+	
+		string ViewerTitle {
+			get;
+		}
+	
+		Gdk.Pixbuf ViewerIcon {
+			get;
+		}	
+	}
+}

Added: branches/MonoDevelop-playground/src/Plugins/Content/INodeViewerFactory.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Content/INodeViewerFactory.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Content/INodeViewerFactory.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,23 @@
+//
+// INodeViewerFactory.cs: The INodeViewerFactory interface is used to implement a
+// factory that creates instances of NodeViewer as needed to display the content
+// of a given Node. Each NodeViewerFactory must register with Browser at
+// application startup.
+//
+// Author:
+//   Jeroen Zwartepoorte <jeroen at xs4all.nl>
+//
+// (C) Copyright Jeroen Zwartepoorte 2003
+//
+
+using Gtk;
+using System;
+using MonoDevelop.Node;
+
+namespace MonoDevelop.Content {
+	public interface INodeViewerFactory {
+		bool CanDisplayNode (Node node);
+		
+		INodeViewer CreateNodeViewer (Node node);
+	}
+}

Added: branches/MonoDevelop-playground/src/Plugins/Content/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Content/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Content/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,37 @@
+contentdir = $(libdir)/monodevelop
+contentassembly = $(contentdir)/content.dll
+content_DATA = content.dll
+plugindir = $(monodevelop_plugin_dir)
+plugin_DATA = content.plugin
+uidir = $(monodevelop_ui_dir)
+ui_DATA = content.ui
+CLEANFILES = content.dll content.plugin
+CSC = mcs
+
+content_sources = \
+	ContentManagerWidgetFactory.cs \
+	ContentManager.cs \
+	ContentPlugin.cs \
+	ContentView.cs \
+	INodeViewer.cs \
+	INodeViewerFactory.cs
+
+content_assemblies = \
+	-r:../../StartUp/monodevelop.exe \
+	-r:../Node/node.dll \
+	-r:../Workbench/workbench.dll \
+	-r:log4net.dll \
+	-r:gtk-sharp.dll \
+	-r:gdk-sharp.dll \
+	-r:glib-sharp.dll
+
+content.dll: $(content_sources)
+	$(CSC) -debug -t:library -out:content.dll $(content_sources) $(content_assemblies)
+
+content.plugin: content.plugin.in
+	sed -e 's^\@assembly\@^$(contentassembly)^g' < $(srcdir)/content.plugin.in > content.plugin
+
+EXTRA_DIST = \
+	$(content_sources) \
+	content.plugin.in \
+	content.ui

Added: branches/MonoDevelop-playground/src/Plugins/Content/content.plugin.in
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Content/content.plugin.in	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Content/content.plugin.in	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin version="1.0">
+	<assembly>@assembly@</assembly>
+	<class name="MonoDevelop.Content.ContentPlugin"/>
+</plugin>

Added: branches/MonoDevelop-playground/src/Plugins/Content/content.ui
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Content/content.ui	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Content/content.ui	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<menubar>
+	<menu name="FileMenu" action="FileMenuAction">
+		<placeholder name="FileOpenPlaceholder">
+			<menuitem name="FileOpen" action="FileOpenAction"/>
+		</placeholder>
+	</menu>
+</menubar>
+<toolbar name="toolbar">
+	<placeholder name="FileOpenPlaceholder">
+		<toolitem name="FileOpenButton" action="FileOpenAction"/>
+	</placeholder>
+</toolbar>

Modified: branches/MonoDevelop-playground/src/Plugins/FileBrowser/FileBrowser.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/FileBrowser/FileBrowser.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/FileBrowser/FileBrowser.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -27,6 +27,7 @@
 		{
 			this.VscrollbarPolicy = PolicyType.Automatic;
 			this.HscrollbarPolicy = PolicyType.Automatic;
+			ShadowType = ShadowType.In;
 
 			IProperties p = (IProperties) PropertyService.GetProperty ("SharpDevelop.UI.SelectStyleOptions", new DefaultProperties ());
 			ignoreHidden = !p.GetProperty ("ICSharpCode.SharpDevelop.Gui.FileScout.ShowHidden", false);

Modified: branches/MonoDevelop-playground/src/Plugins/FileBrowser/FileBrowserWidgetFactory.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/FileBrowser/FileBrowserWidgetFactory.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/FileBrowser/FileBrowserWidgetFactory.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -30,7 +30,7 @@
 	
 	public string WidgetIcon {
 		get {
-			return "gtk-open";
+			return Gtk.Stock.Open;
 		}
 	}
 	

Modified: branches/MonoDevelop-playground/src/Plugins/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -1 +1 @@
-SUBDIRS = Services Workbench FileBrowser
+SUBDIRS = Node Services Workbench FileBrowser Content


Property changes on: branches/MonoDevelop-playground/src/Plugins/Node
___________________________________________________________________
Name: svn:ignore
   + Makefile
Makefile.in
node.plugin
node.dll


Added: branches/MonoDevelop-playground/src/Plugins/Node/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Node/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Node/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,25 @@
+nodedir = $(libdir)/monodevelop
+nodeassembly = $(nodedir)/node.dll
+node_DATA = node.dll
+plugindir = $(monodevelop_plugin_dir)
+plugin_DATA = node.plugin
+CLEANFILES = node.dll node.plugin
+CSC = mcs
+
+node_sources = \
+	Node.cs \
+	NodePlugin.cs
+
+node_assemblies = \
+	-r:../../StartUp/monodevelop.exe \
+	-r:log4net.dll
+
+node.dll: $(node_sources)
+	$(CSC) -debug -t:library -out:node.dll $(node_sources) $(node_assemblies)
+
+node.plugin: node.plugin.in
+	sed -e 's^\@assembly\@^$(nodeassembly)^g' < $(srcdir)/node.plugin.in > node.plugin
+
+EXTRA_DIST = \
+	$(node_sources) \
+	node.plugin.in

Added: branches/MonoDevelop-playground/src/Plugins/Node/Node.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Node/Node.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Node/Node.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,13 @@
+//
+// Node.cs: Abstract base class from which all nodes must inherit.
+//
+// Author:
+//   Jeroen Zwartepoorte <jeroen at xs4all.nl>
+//
+// (C) Copyright Jeroen Zwartepoorte 2004
+//
+
+namespace MonoDevelop.Node {
+	abstract public class Node {
+	}
+}

Added: branches/MonoDevelop-playground/src/Plugins/Node/NodePlugin.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Node/NodePlugin.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Node/NodePlugin.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,63 @@
+//
+// NodePlugin.cs: Registers the node plugin.
+//
+// Author:
+//   Jeroen Zwartepoorte <jeroen at xs4all.nl>
+//
+// (C) Copyright Jeroen Zwartepoorte 2004
+//
+
+using System;
+using log4net;
+using MonoDevelop;
+
+namespace MonoDevelop.Node {
+	class NodePlugin : BasePlugin {
+		private static readonly ILog log = LogManager.GetLogger (typeof (NodePlugin));
+	
+		public override string Author {
+			get {
+				return "Jeroen Zwartepoorte";
+			}
+		}
+		
+		public override string Copyright {
+			get {
+				return "GPL";
+			}
+		}
+		
+		public override string Description {
+			get {
+				return "Node plugin";
+			}
+		}
+		
+		public override string Name {
+			get {
+				return "node";
+			}
+		}
+		
+		public override string Url {
+			get {
+				return "http://www.xs4all.nl/~jeroen/";
+			}
+		}
+		
+		public override string Version {
+			get {
+				return "1.0";
+			}
+		}
+	
+		public override bool InitializePlugin (byte major, byte minor)
+		{
+			return true;
+		}
+		
+		public override void FinalizePlugin ()
+		{
+		}
+	}
+}

Added: branches/MonoDevelop-playground/src/Plugins/Node/node.plugin.in
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Node/node.plugin.in	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Node/node.plugin.in	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin version="1.0">
+	<assembly>@assembly@</assembly>
+	<class name="MonoDevelop.Node.NodePlugin"/>
+</plugin>

Modified: branches/MonoDevelop-playground/src/Plugins/Services/ResourceService.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Services/ResourceService.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Services/ResourceService.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -8,6 +8,7 @@
 using System;
 using System.IO;
 using System.Collections;
+using System.Configuration;
 using System.Threading;
 using System.Resources;
 using System.Diagnostics;
@@ -15,6 +16,7 @@
 using System.Xml;
 using System.Runtime.InteropServices;
 
+using log4net;
 using Gdk;
 
 namespace MonoDevelop.Services
@@ -36,6 +38,7 @@
 	
 	public class ResourceService : AbstractService, IResourceService
 	{
+		private static readonly ILog log = LogManager.GetLogger (typeof (ResourceService));
 		readonly static string uiLanguageProperty = "CoreProperties.UILanguage";
 		
 		readonly static string stringResources  = "StringResources";
@@ -45,16 +48,17 @@
 		
 		static ResourceService()
 		{
-			PropertyService propertyService = (PropertyService)ServiceManager.Services.GetService(typeof(PropertyService));
-			resourceDirctory = propertyService.DataDirectory + Path.DirectorySeparatorChar + "resources";
+			//PropertyService propertyService = (PropertyService)ServiceManager.Services.GetService(typeof(PropertyService));
+			//resourceDirctory = propertyService.DataDirectory + Path.DirectorySeparatorChar + "resources";
+			resourceDirctory = ConfigurationSettings.AppSettings["resourcePath"];
 
-			iconFactory = new Gtk.IconFactory ();
+			//iconFactory = new Gtk.IconFactory ();
 
 			// FIXME: remove this when all MonoDevelop is using Gtk+
 			// stock icons
 			stockMappings = new Hashtable ();
 			//MonoDevelop.Gui.Stock.Init ();
-			iconFactory.AddDefault ();
+			//iconFactory.AddDefault ();
 		}
 		
 		Hashtable userStrings = null;
@@ -79,9 +83,10 @@
 			string language = propertyService.GetProperty(uiLanguageProperty, Thread.CurrentThread.CurrentUICulture.Name);
 			
 			localStrings = Load(stringResources, language);
-			if (localStrings == null && language.IndexOf('-') > 0) {
+			if (localStrings == null && language.IndexOf('-') > 0)
 				localStrings = Load(stringResources, language.Split(new char[] {'-'})[0]);
-			}
+			if (localStrings == null)
+				localStrings = Load (resourceDirctory + Path.DirectorySeparatorChar + stringResources + ".resources");
 			
 			localIcons = Load(imageResources, language);
 			if (localIcons == null && language.IndexOf('-') > 0) {
@@ -181,7 +186,7 @@
 		
 		Hashtable Load(string fileName)
 		{
-			if (File.Exists(fileName)) {
+			if (File.Exists (fileName)) {
 				Hashtable resources = new Hashtable();
 				ResourceReader rr = new ResourceReader(fileName);
 				foreach (DictionaryEntry entry in rr) {
@@ -189,8 +194,9 @@
 				}
 				rr.Close();
 				return resources;
+			} else {
+				return null;
 			}
-			return null;
 		}
 		Hashtable Load(string name, string language)
 		{
@@ -307,7 +313,13 @@
 			Gdk.Pixbuf pix = GetIcon (name, size);
 			if (pix == null) {
 				// Try loading directly from disk then
-				pix = new Gdk.Pixbuf("../data/resources/icons/" + name);
+				string imagesdir = ConfigurationSettings.AppSettings["imagesPath"];
+				string file = imagesdir + System.IO.Path.DirectorySeparatorChar + name;
+				if (!System.IO.File.Exists (file)) {
+					log.Error ("Bitmap resource \"" + name + "\" not found");
+					return null;
+				}
+				pix = new Gdk.Pixbuf (file);
 			}
 			return pix;
 		}

Modified: branches/MonoDevelop-playground/src/Plugins/Services/ServicesPlugin.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Services/ServicesPlugin.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Services/ServicesPlugin.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -53,6 +53,11 @@
 	
 		public override bool InitializePlugin (byte major, byte minor)
 		{
+			// YUCK!
+			//ServiceManager.Services.AddService (new IconService ());
+			//ServiceManager.Services.AddService (new MessageService ());
+			ServiceManager.Services.AddService (new ResourceService ());
+			ServiceManager.Services.InitializeServicesSubsystem (null);
 			return true;
 		}
 		

Added: branches/MonoDevelop-playground/src/Plugins/Workbench/AboutDialog.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Workbench/AboutDialog.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Workbench/AboutDialog.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -0,0 +1,382 @@
+// <file>
+//     <copyright see="prj:///doc/copyright.txt"/>
+//     <license see="prj:///doc/license.txt"/>
+//     <owner name="Mike Krüger" email="mike at icsharpcode.net"/>
+//     <version value="$version"/>
+// </file>
+
+using System;
+using System.Reflection;
+using System.Text;
+using Gdk;
+using Gtk;
+using Pango;
+using MonoDevelop.Services;
+
+namespace MonoDevelop.Workbench
+{
+	public class AboutMonoDevelopTabPage : VBox
+	{
+		static GLib.GType gtype;
+		Label      buildLabel   = new Label ();
+		Label    buildTextBox = new Label ();
+		Label      versionLabel   = new Label ();
+		Label    versionTextBox = new Label ();
+		Label      sponsorLabel   = new Label ();
+		
+		public static new GLib.GType GType
+		{
+			get
+			{
+				if (gtype == GLib.GType.Invalid)
+					gtype = RegisterGType (typeof (AboutMonoDevelopTabPage));
+				return gtype;
+			}
+		}
+		
+		public AboutMonoDevelopTabPage() : base (GType)
+		{
+			HBox hbox = new HBox (false, 0);
+			Version v = Assembly.GetEntryAssembly().GetName().Version;
+			versionTextBox.Text = v.Major + "." + v.Minor;
+			buildTextBox.Text   = v.Revision + "." + v.Build;
+			
+			ResourceService resourceService = (ResourceService)ServiceManager.Services.GetService(typeof(IResourceService));
+			versionLabel.Text = resourceService.GetString("Dialog.About.label1Text");
+			
+			//versionLabel.TabIndex = 1;
+			hbox.PackStart (versionLabel, false, false, 10);
+			
+			//versionTextBox.TabIndex = 4;
+			hbox.PackStart (versionTextBox, false, false, 10);
+			
+			buildLabel.Text = resourceService.GetString("Dialog.About.label2Text");
+			//buildLabel.TabIndex = 2;
+			hbox.PackStart (buildLabel, false, false, 10);
+			
+			//buildTextBox.TabIndex = 3;
+			hbox.PackStart (buildTextBox, false, false, 10);
+			this.PackStart (hbox, false, false, 5);
+			
+			sponsorLabel.Text = "Released under the GNU General Public license.";
+				               // "Sponsored by AlphaSierraPapa\n" +
+			                   // "                   http://www.AlphaSierraPapa.com";
+			//sponsorLabel.TabIndex = 8;
+			this.PackStart (sponsorLabel, false, false, 5);
+			this.ShowAll ();
+		}
+	}
+
+#if DISABLED
+	public class AuthorAboutTabPage : ICSharpCode.SharpDevelop.Gui.HtmlControl.HtmlControl
+	{
+		public AuthorAboutTabPage()
+		{
+			try {
+				FileUtilityService fileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService));
+				PropertyService propertyService = (PropertyService)ServiceManager.Services.GetService(typeof(PropertyService));
+				
+				string html = ConvertXml.ConvertToString(fileUtilityService.SharpDevelopRootPath +
+				                   System.IO.Path.DirectorySeparatorChar + "doc" +
+				                   System.IO.Path.DirectorySeparatorChar + "AUTHORS.xml",
+				                   
+				                   propertyService.DataDirectory +
+				                   System.IO.Path.DirectorySeparatorChar + "ConversionStyleSheets" + 
+				                   System.IO.Path.DirectorySeparatorChar + "ShowAuthors.xsl");
+				
+				
+				base.CascadingStyleSheet = propertyService.DataDirectory + System.IO.Path.DirectorySeparatorChar +
+				                           "resources" + System.IO.Path.DirectorySeparatorChar +
+				                           "css" + System.IO.Path.DirectorySeparatorChar +
+				                           "SharpDevelopStandard.css";
+				base.Html = html;
+			} catch (Exception e) {
+				IMessageService messageService = (IMessageService)ServiceManager.Services.GetService(typeof(IMessageService));
+				messageService.ShowError(e);
+			}
+		}
+	}
+	
+	public class ChangeLogTabPage : ICSharpCode.SharpDevelop.Gui.HtmlControl.HtmlControl
+	{
+		public ChangeLogTabPage()
+		{
+			try {
+				FileUtilityService fileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService));
+				PropertyService propertyService = (PropertyService)ServiceManager.Services.GetService(typeof(PropertyService));
+				
+				string html = ConvertXml.ConvertToString(fileUtilityService.SharpDevelopRootPath +
+				                   System.IO.Path.DirectorySeparatorChar + "doc" +
+				                   System.IO.Path.DirectorySeparatorChar + "ChangeLog.xml",
+				                   
+				                   propertyService.DataDirectory +
+				                   System.IO.Path.DirectorySeparatorChar + "ConversionStyleSheets" + 
+				                   System.IO.Path.DirectorySeparatorChar + "ShowChangeLog.xsl");
+				
+				base.CascadingStyleSheet = propertyService.DataDirectory + System.IO.Path.DirectorySeparatorChar +
+				                           "resources" + System.IO.Path.DirectorySeparatorChar +
+				                           "css" + System.IO.Path.DirectorySeparatorChar +
+				                           "SharpDevelopStandard.css";
+				//base.Html = html;
+				
+				// feel free to add your name and email here
+				// if you contributed to the port
+				// FIXME: make real port credits
+				/*base.Html = "<html><body><h3>MonoDevelop port</h3>"
+				+ "<p>This is a port of SharpDevelop 0.98 to Gtk#.</p>"
+				+ "<p>by:"
+				+ "<ul><li>Todd Berman</li>"
+				+ "<li>Pedro Abelleira Seco</li>"
+				+ "<li>John Luke</li>"
+				+ "<li>dkor</li>"
+				+ "<li>orph</li>"
+				+ "<li>nricciar</li>"
+				+ "<li>jba</li>"
+				+ "</ul></body></html>";*/
+				
+			} catch (Exception e) {
+				IMessageService messageService = (IMessageService)ServiceManager.Services.GetService(typeof(IMessageService));
+				messageService.ShowError(e);
+			}
+		}
+	}
+#endif
+	
+	public class VersionInformationTabPage : VBox
+	{
+		private static GLib.GType gtype;
+		private TreeView listView;
+		private Button button;
+		private TreeStore store;
+		
+		public static new GLib.GType GType
+		{
+			get
+			{
+				if (gtype == GLib.GType.Invalid)
+					gtype = RegisterGType (typeof (VersionInformationTabPage));
+				return gtype;
+			}
+		}
+
+		public VersionInformationTabPage() : base (GType)
+		{
+			ResourceService resourceService = (ResourceService)ServiceManager.Services.GetService(typeof(IResourceService));
+			
+			TreeView listView = new TreeView ();
+			listView.RulesHint = true;
+			listView.AppendColumn (resourceService.GetString("Dialog.About.VersionInfoTabName.NameColumn"), new CellRendererText (), "text", 0);
+			listView.AppendColumn (resourceService.GetString("Dialog.About.VersionInfoTabName.VersionColumn"), new CellRendererText (), "text", 1);
+			listView.AppendColumn (resourceService.GetString("Dialog.About.VersionInfoTabName.PathColumn"), new CellRendererText (), "text", 2);
+			
+			FillListView ();
+			ScrolledWindow sw = new ScrolledWindow ();
+			sw.ShadowType = ShadowType.In;
+			sw.Add (listView);
+			this.PackStart (sw);
+			
+			HBox hbox = new HBox (false, 0);
+			button = new Button (Gtk.Stock.Copy);
+			button.Clicked += new EventHandler(CopyButtonClick);
+			hbox.PackStart (new Label (), false, true, 3);
+			hbox.PackStart (button, false, false, 3);
+			hbox.PackStart (new Label (), false, true, 3);
+			this.PackStart (hbox, false, false, 6);
+			
+			listView.Model = store;
+		}
+		
+		void FillListView()
+		{
+			store = new TreeStore (typeof (string), typeof (string), typeof (string));
+			
+			foreach (Assembly asm in AppDomain.CurrentDomain.GetAssemblies()) {
+				AssemblyName name = asm.GetName();
+				
+				string loc;
+				
+				try {
+					loc = asm.Location;
+				} catch (Exception) {
+					loc = "dynamic";
+				}
+				
+				store.AppendValues (name.Name, name.Version.ToString(), loc);
+			}
+			
+			store.SetSortColumnId (0, SortType.Ascending);
+		}
+		
+		void CopyButtonClick(object o, EventArgs args)
+		{
+			StringBuilder versionInfo = new StringBuilder();
+			foreach (Assembly asm in AppDomain.CurrentDomain.GetAssemblies()) {
+				AssemblyName name = asm.GetName();
+				versionInfo.Append(name.Name);
+				versionInfo.Append(",");
+				versionInfo.Append(name.Version.ToString());
+				versionInfo.Append(",");
+				try {
+					versionInfo.Append(asm.Location);
+				} catch (Exception) {
+					versionInfo.Append("dynamic");
+				}
+				
+				versionInfo.Append(Environment.NewLine);
+			}
+			
+			//Clipboard.SetDataObject(new DataObject(System.Windows.Forms.DataFormats.Text, versionInfo.ToString()), true);
+		}
+	}
+
+	public class ScrollBox : DrawingArea
+	{
+		static GLib.GType gtype;
+		Pixbuf image;
+		string text;
+		int scroll = -220;
+		uint hndlr;
+		Pango.Font font;
+		bool initial = true;
+		Pango.Layout layout;
+		
+		internal uint Handler
+		{
+			get { return hndlr; }
+		}
+		
+		public static new GLib.GType GType
+		{
+			get
+			{
+				if (gtype == GLib.GType.Invalid)
+					gtype = RegisterGType (typeof (ScrollBox));
+				return gtype;
+			}
+		}
+		
+		public ScrollBox() : base (GType)
+		{
+			this.RequestSize = new System.Drawing.Size (400, 220);
+			this.Realized += new EventHandler (OnRealized);
+			this.ExposeEvent += new ExposeEventHandler (OnExposed);
+			
+			ResourceService resourceService = (ResourceService)ServiceManager.Services.GetService(typeof(IResourceService));
+			image = resourceService.GetBitmap ("Icons.AboutImage");
+			
+			text = "<b>Ported and developed by:</b>\nTodd Berman\nPedro Abelleira Seco\nJohn Luke\nDaniel Kornhauser\norph\nnricciar\nJohn Bou Antoun\nBen Maurer\nJeroen Zwartepoorte\nGustavo Giráldez";
+			
+			//text = "\"The most successful method of programming is to begin a program as simply as possible, test it, and then add to the program until it performs the required job.\"\n    -- PDP8 handbook, Pg 9-64\n\n\n";
+			//text = "\"The primary purpose of the DATA statement is to give names to constants; instead of referring to pi as 3.141592653589793 at every\n appearance, the variable PI can be given that value with a DATA statement and used instead of the longer form of the constant. This also simplifies modifying the program, should the value of pi change.\"\n    -- FORTRAN manual for Xerox computers\n\n\n";
+			//text = "\"No proper program contains an indication which as an operator-applied occurrence identifies an operator-defining occurrence which as an indication-applied occurrence identifies an indication-defining occurrence different from the one identified by the given indication as an indication- applied occurrence.\"\n   -- ALGOL 68 Report\n\n\n";
+			//text = "\"The '#pragma' command is specified in the ANSI standard to have an arbitrary implementation-defined effect. In the GNU C preprocessor, `#pragma' first attempts to run the game rogue; if that fails, it tries to run the game hack; if that fails, it tries to run GNU Emacs displaying the Tower of Hanoi; if that fails, it reports a fatal error. In any case, preprocessing does not continue.\"\n   --From an old GNU C Preprocessor document";
+			
+			hndlr = GLib.Timeout.Add (30, new GLib.TimeoutHandler (ScrollDown));
+		}
+		
+		bool ScrollDown ()
+		{
+			++scroll;
+			// FIXME: only redraw the right side
+			this.QueueDraw ();
+			//this.QueueDrawArea (200, 0, 200, 220);
+			return true;
+		}
+		
+		private void DrawImage ()
+		{
+			if (image != null) {
+				this.GdkWindow.DrawPixbuf (this.Style.BackgroundGC (StateType.Normal), image, 0, 0, 0, 0, -1, -1, RgbDither.Normal,  0,  0);
+			}
+		}
+		
+		private void DrawText ()
+		{
+			this.GdkWindow.DrawLayout (this.Style.TextGC (StateType.Normal), 200, 0 - scroll, layout);
+	
+			if (scroll > 220 ) {
+				scroll = -scroll;
+			}
+		}
+		
+		protected void OnExposed (object o, ExposeEventArgs args)
+		{
+			this.DrawImage ();	
+			this.DrawText ();
+		}
+
+		protected void OnRealized (object o, EventArgs args)
+		{
+			layout = new Pango.Layout (this.PangoContext);
+			Console.WriteLine (this.GdkWindow.Size);
+			// FIXME: this seems wrong but works
+			layout.Width = 253952;
+			layout.Wrap = Pango.WrapMode.Word;
+			FontDescription fd = FontDescription.FromString ("Tahoma 10");
+			layout.FontDescription = fd;
+			layout.SetMarkup (text);	
+		}
+	}
+	
+	public class AboutDialog : Dialog
+	{
+		static GLib.GType type;
+		static FileUtilityService fileUtilityService = (FileUtilityService)ServiceManager.Services.GetService(typeof(FileUtilityService));
+		
+		//AuthorAboutTabPage aatp;
+		//ChangeLogTabPage changelog;
+		ScrollBox aboutPictureScrollBox;
+		
+		static PropertyService propertyService = (PropertyService)ServiceManager.Services.GetService(typeof(PropertyService));
+		
+		static AboutDialog ()
+		{
+			type = RegisterGType (typeof (AboutDialog));
+		}
+		
+		public AboutDialog() : base ("About MonoDevelop", (Gtk.Window) Workbench.ActiveWorkbench, DialogFlags.DestroyWithParent)
+		{
+			ResourceService resourceService = (ResourceService) ServiceManager.Services.GetService(typeof (IResourceService));
+			aboutPictureScrollBox = new ScrollBox ();
+		
+			this.VBox.PackStart (aboutPictureScrollBox);
+			Label copyright = new Label ("(c) 2000-2003 by icsharpcode.net");
+			copyright.Justify = Justification.Left;
+			this.VBox.PackStart (copyright, false, true, 0);
+		
+			Notebook nb = new Notebook ();
+			nb.RequestSize = new System.Drawing.Size (400, 280);
+			//nb.SwitchPage += new SwitchPageHandler (OnPageChanged);
+			//aatp = new AuthorAboutTabPage ();
+			//changelog = new ChangeLogTabPage ();
+			VersionInformationTabPage vinfo = new VersionInformationTabPage ();
+			
+			nb.AppendPage (new AboutMonoDevelopTabPage (), new Label ("About MonoDevelop"));
+			//nb.AppendPage (aatp, new Label ("Authors"));
+			//nb.AppendPage (changelog, new Label ("ChangeLog"));
+			nb.AppendPage (vinfo, new Label ("Version Info"));
+			this.VBox.PackStart (nb);
+			this.AddButton (Stock.Close, (int) ResponseType.Close);
+			this.ShowAll ();
+		}
+		
+		public new int Run ()
+		{
+			int tmp = base.Run ();
+			//GLib.Source.Remove (aboutPictureScrollBox.Handler);
+			return tmp;
+		}
+		
+		//private void OnPageChanged (object o, SwitchPageArgs args)
+		//{
+			//if (args.PageNum == 1)
+			//{
+			//	aatp.DelayedInitialize ();
+			//}
+			//else if (args.PageNum == 2)
+			//{
+			//	changelog.DelayedInitialize ();
+			//}
+		//}
+	}
+}

Modified: branches/MonoDevelop-playground/src/Plugins/Workbench/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Workbench/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Workbench/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -9,16 +9,20 @@
 CSC = mcs
 
 workbench_sources = \
+	AboutDialog.cs \
+	IWorkbenchWidgetFactory.cs \
 	Workbench.cs \
 	WorkbenchCommand.cs \
-	WorkbenchPlugin.cs \
-	IWorkbenchWidgetFactory.cs
+	WorkbenchPlugin.cs
 
 workbench_assemblies = \
 	-r:../../StartUp/monodevelop.exe \
+	-r:../Services/services.dll \
+	-r:System.Drawing.dll \
 	-r:log4net.dll \
+	-r:pango-sharp.dll \
+	-r:gdk-sharp.dll \
 	-r:gtk-sharp.dll \
-	-r:gdk-sharp.dll \
 	-r:glib-sharp.dll \
 	-r:gnome-sharp.dll \
 	-r:../../../build/bin/gdl-sharp.dll

Modified: branches/MonoDevelop-playground/src/Plugins/Workbench/Workbench.cs
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Workbench/Workbench.cs	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Workbench/Workbench.cs	2004-02-29 13:22:01 UTC (rev 1063)
@@ -76,6 +76,10 @@
 			action.Activated += new EventHandler (OnQuit);
 			group.Add (action, "<control>q");
 
+			// Edit menu.
+			action = new Action ("EditMenuAction", "_Edit", null, null);
+			group.Add (action);
+			
 			// View menu.
 			action = new Action ("ViewMenuAction", "_View", null, null);
 			group.Add (action);
@@ -86,6 +90,15 @@
 			group.Add (action);
 			
 			action = new Action ("NewWindowAction", "_New Window",
+					     "Create a new window", null);
+			group.Add (action);
+			
+			action = new Action ("SaveLayoutAction", "_Save Layout...",
+					     "Save the current layout",
+					     Gtk.Stock.Save);
+			group.Add (action);
+			
+			action = new Action ("LayoutsAction", "_Layouts",
 					     null, null);
 			group.Add (action);
 			
@@ -141,6 +154,9 @@
 	
 		private void OnAbout (object obj, EventArgs args)
 		{
+			AboutDialog about = new AboutDialog ();
+			about.Run ();
+			about.Destroy ();
 		}
 		
 		private void OnWidgetAdd (object obj, AddWidgetArgs args)
@@ -204,7 +220,7 @@
 			args.RetVal = true;
 		}
 	
-		static Workbench ActiveWorkbench {
+		public static Workbench ActiveWorkbench {
 			get {
 				return workbenches[0] as Workbench;
 			}

Modified: branches/MonoDevelop-playground/src/Plugins/Workbench/workbench.ui
===================================================================
--- branches/MonoDevelop-playground/src/Plugins/Workbench/workbench.ui	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/Plugins/Workbench/workbench.ui	2004-02-29 13:22:01 UTC (rev 1063)
@@ -1,18 +1,53 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <menubar>
 	<menu name="FileMenu" action="FileMenuAction">
-		<menuitem name="CloseWindow" action="CloseWindowAction"/>
-		<menuitem name="Quit" action="QuitAction"/>
+		<placeholder name="FileOpenPlaceholder"/>
+		<placeholder name="FileOpenProjectPlaceholder"/>
+		<placeholder name="FileImportProjectPlaceholder"/>
+		<placeholder name="FileRecentFilesPlaceholder"/>
+		<placeholder name="FileSavePlaceholder"/>
+		<placeholder name="FileClosePlaceholder"/>
+		<placeholder name="FileCloseProject"/>
+		<placeholder name="FilePrintPlaceholder" position="top"/>
+		<separator/>
+		<menuitem name="FileCloseWindow" action="CloseWindowAction"/>
+		<menuitem name="FileQuit" action="QuitAction"/>
 	</menu>
+	
+	<menu name="EditMenu" action="EditMenuAction">
+		<placeholder name="EditEditorPlaceholder"/>
+		<placeholder name="EditPluginPlaceholder" position="top"/>
+		<placeholder name="EditPreferencesPlaceholder" position="top"/>
+	</menu>
+	
 	<menu name="ViewMenu" action="ViewMenuAction">
 	</menu>
+	
+	<placeholder name="SearchMenuPlaceholder"/>
+
+	<placeholder name="ProjectMenuPlaceholder"/>
+
+	<placeholder name="RunMenuPlaceholder"/>
+	
+	<placeholder name="ToolsMenuPlaceholder"/>
+
 	<menu name="WindowMenu" action="WindowMenuAction">
-		<menuitem name="NewWindow" action="NewWindowAction"/>
+		<menuitem name="WindowNew" action="NewWindowAction"/>
+		<separator/>
+		<menuitem name="WindowSaveLayout" action="SaveLayoutAction"/>
+		<separator/>
+		<menu name="WindowLayouts" action="LayoutsAction">
+			<placeholder name="Layouts"/>
+		</menu>
 	</menu>
+	
 	<menu name="HelpMenu" action="HelpMenuAction">
-		<menuitem name="About" action="AboutAction"/>
+		<placeholder name="HelpOps"/>
+		<placeholder name="HelpPlugins"/>
+		<menuitem name="HelpAbout" action="AboutAction"/>
 	</menu>
 </menubar>
 <toolbar name="toolbar">
+	<placeholder name="FileOpenPlaceholder"/>
 	<toolitem name="QuitButton" action="QuitAction"/>
 </toolbar>

Modified: branches/MonoDevelop-playground/src/StartUp/Makefile.am
===================================================================
--- branches/MonoDevelop-playground/src/StartUp/Makefile.am	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/StartUp/Makefile.am	2004-02-29 13:22:01 UTC (rev 1063)
@@ -15,7 +15,11 @@
 	$(CSC) -debug -out:monodevelop.exe $(monodevelop_sources) $(monodevelop_assemblies)
 
 monodevelop.exe.config: monodevelop.exe.config.in
-	sed -e 's^\@monodevelop_plugin_dir\@^$(monodevelop_plugin_dir)^g' -e 's^\@monodevelop_ui_dir\@^$(monodevelop_ui_dir)^g' < $(srcdir)/monodevelop.exe.config.in > monodevelop.exe.config
+	sed -e 's^\@monodevelop_images_dir\@^$(monodevelop_images_dir)^g' \
+	    -e 's^\@monodevelop_plugin_dir\@^$(monodevelop_plugin_dir)^g' \
+	    -e 's^\@monodevelop_ui_dir\@^$(monodevelop_ui_dir)^g' \
+	    -e 's^\@monodevelop_resource_dir\@^$(monodevelop_resource_dir)^g' \
+	    < $(srcdir)/monodevelop.exe.config.in > monodevelop.exe.config
 
 EXTRA_DIST = \
 	$(monodevelop_sources) \

Modified: branches/MonoDevelop-playground/src/StartUp/monodevelop.exe.config.in
===================================================================
--- branches/MonoDevelop-playground/src/StartUp/monodevelop.exe.config.in	2004-02-29 10:16:55 UTC (rev 1062)
+++ branches/MonoDevelop-playground/src/StartUp/monodevelop.exe.config.in	2004-02-29 13:22:01 UTC (rev 1063)
@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="utf-8" ?>
 <configuration>
 	<appSettings>
+		<add key="imagesPath" value="@monodevelop_images_dir@"/>
 		<add key="pluginsPath" value="@monodevelop_plugin_dir@"/>
+		<add key="resourcePath" value="@monodevelop_resource_dir@"/>
 		<add key="uiPath" value="@monodevelop_ui_dir@"/>
 	</appSettings>
 	<configSections>




More information about the Monodevelop-patches-list mailing list