Author: lluis
Date: 2007-05-15 10:02:30 -0400 (Tue, 15 May 2007)
New Revision: 77404
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/ChangeLog
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.Dialogs/ConfirmWindowDeleteDialog.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.Dialogs/WidgetBuilderOptionPanel.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/ActionGroupDisplayBinding.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/ActionGroupView.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CodeBinder.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderProject.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderService.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderWindow.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/ActionGroupNodeBuilder.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WidgetNodeBuilder.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WindowsFolderNodeBuilder.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore/GtkDesignInfo.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore/WidgetFileDescriptionTemplate.cs
trunk/monodevelop/Extras/MonoDevelop.GtkCore/lib/libstetic.dll
trunk/monodevelop/Extras/MonoDevelop.GtkCore/lib/libsteticui.dll
Log:
* MonoDevelop.GtkCore.NodeBuilders/WidgetNodeBuilder.cs,
MonoDevelop.GtkCore.NodeBuilders/WindowsFolderNodeBuilder.cs,
MonoDevelop.GtkCore.NodeBuilders/ActionGroupNodeBuilder.cs,
MonoDevelop.GtkCore/GtkDesignInfo.cs,
MonoDevelop.GtkCore/WidgetFileDescriptionTemplate.cs,
MonoDevelop.GtkCore.Dialogs/ConfirmWindowDeleteDialog.cs,
MonoDevelop.GtkCore.GuiBuilder/ActionGroupDisplayBinding.cs,
MonoDevelop.GtkCore.GuiBuilder/GuiBuilderService.cs,
MonoDevelop.GtkCore.GuiBuilder/GuiBuilderProject.cs,
MonoDevelop.GtkCore.GuiBuilder/GuiBuilderWindow.cs,
MonoDevelop.GtkCore.GuiBuilder/ActionGroupView.cs,
MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs,
MonoDevelop.GtkCore.GuiBuilder/CodeBinder.cs: Track api changes in
Stetic.
* MonoDevelop.GtkCore.Dialogs/WidgetBuilderOptionPanel.cs: Delay
library updating until really necessary.
* lib/libsteticui.dll, lib/libstetic.dll: Updated from stetic module.
Modified: trunk/monodevelop/Extras/MonoDevelop.GtkCore/ChangeLog
===================================================================
--- trunk/monodevelop/Extras/MonoDevelop.GtkCore/ChangeLog 2007-05-15
13:57:21 UTC (rev 77403)
+++ trunk/monodevelop/Extras/MonoDevelop.GtkCore/ChangeLog 2007-05-15
14:02:30 UTC (rev 77404)
@@ -1,3 +1,23 @@
+2007-05-15 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * MonoDevelop.GtkCore.NodeBuilders/WidgetNodeBuilder.cs,
+ MonoDevelop.GtkCore.NodeBuilders/WindowsFolderNodeBuilder.cs,
+ MonoDevelop.GtkCore.NodeBuilders/ActionGroupNodeBuilder.cs,
+ MonoDevelop.GtkCore/GtkDesignInfo.cs,
+ MonoDevelop.GtkCore/WidgetFileDescriptionTemplate.cs,
+ MonoDevelop.GtkCore.Dialogs/ConfirmWindowDeleteDialog.cs,
+ MonoDevelop.GtkCore.GuiBuilder/ActionGroupDisplayBinding.cs,
+ MonoDevelop.GtkCore.GuiBuilder/GuiBuilderService.cs,
+ MonoDevelop.GtkCore.GuiBuilder/GuiBuilderProject.cs,
+ MonoDevelop.GtkCore.GuiBuilder/GuiBuilderWindow.cs,
+ MonoDevelop.GtkCore.GuiBuilder/ActionGroupView.cs,
+ MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs,
+ MonoDevelop.GtkCore.GuiBuilder/CodeBinder.cs: Track api changes in
+ Stetic.
+ * MonoDevelop.GtkCore.Dialogs/WidgetBuilderOptionPanel.cs: Delay
+ library updating until really necessary.
+ * lib/libsteticui.dll, lib/libstetic.dll: Updated from stetic module.
+
2007-05-11 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* MonoDevelop.GtkCore.mdp: Copy the .addins.xml file to the output dir.
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore/GtkDesignInfo.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore/GtkDesignInfo.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore/GtkDesignInfo.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -261,7 +261,7 @@
}
}
- foreach (Stetic.ActionGroupComponent ag in
GuiBuilderProject.SteticProject.GetActionGroups ()) {
+ foreach (Stetic.ActionGroupInfo ag in
GuiBuilderProject.SteticProject.ActionGroups) {
string fn =
GuiBuilderService.GenerateSteticCodeStructure (project, ag, true, false);
partialFiles.Add (fn);
if (!project.IsFileInProject (fn)) {
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore/WidgetFileDescriptionTemplate.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore/WidgetFileDescriptionTemplate.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore/WidgetFileDescriptionTemplate.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -104,7 +104,7 @@
XmlDocument doc = new XmlDocument ();
doc.LoadXml (content);
- Stetic.WidgetComponent w =
gproject.AddNewComponent (doc.DocumentElement);
+ Stetic.WidgetInfo w = gproject.AddNewComponent
(doc.DocumentElement);
gproject.Save (false);
if (!w.IsWindow)
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.Dialogs/ConfirmWindowDeleteDialog.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.Dialogs/ConfirmWindowDeleteDialog.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.Dialogs/ConfirmWindowDeleteDialog.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -39,16 +39,16 @@
[Glade.Widget] Gtk.Label label;
[Glade.Widget] Gtk.CheckButton checkbox;
- public ConfirmWindowDeleteDialog (string windowName, string
fileName, Stetic.Component obj)
+ public ConfirmWindowDeleteDialog (string windowName, string
fileName, Stetic.ProjectItemInfo obj)
{
XML glade = new XML (null, "gui.glade",
"ConfirmWindowDeleteDialog", null);
glade.Autoconnect (this);
- if (obj is Stetic.WidgetComponent &&
((Stetic.WidgetComponent)obj).IsWindow) {
+ if (obj is Stetic.WidgetInfo &&
((Stetic.WidgetInfo)obj).IsWindow) {
label.Text = GettextCatalog.GetString ("Are you
sure you want to delete the window '{0}'?", windowName);
- } else if (obj is Stetic.WidgetComponent) {
+ } else if (obj is Stetic.WidgetInfo) {
label.Text = GettextCatalog.GetString ("Are you
sure you want to delete the widget '{0}'?", windowName);
- } else if (obj is Stetic.ActionGroupComponent) {
+ } else if (obj is Stetic.ActionGroupInfo) {
label.Text = GettextCatalog.GetString ("Are you
sure you want to delete the action group '{0}'?", windowName);
} else
label.Text = GettextCatalog.GetString ("Are you
sure you want to delete '{0}'?", windowName);
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.Dialogs/WidgetBuilderOptionPanel.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.Dialogs/WidgetBuilderOptionPanel.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.Dialogs/WidgetBuilderOptionPanel.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -152,7 +152,6 @@
designInfo.IsWidgetLibrary = true;
designInfo.ExportedWidgets = (string[]) selection.ToArray (typeof(string));
GtkCoreService.UpdateObjectsFile (project);
-
designInfo.GuiBuilderProject.UpdateLibraries ();
}
} else
designInfo.IsWidgetLibrary =
false;
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/ActionGroupDisplayBinding.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/ActionGroupDisplayBinding.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/ActionGroupDisplayBinding.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -89,7 +89,7 @@
return null;
}
- Stetic.ActionGroupComponent GetActionGroup (string file)
+ Stetic.ActionGroupInfo GetActionGroup (string file)
{
Project project =
IdeApp.ProjectOperations.CurrentOpenCombine.GetProjectContainingFile (file);
if (project == null)
@@ -102,7 +102,7 @@
return info.GuiBuilderProject.GetActionGroupForFile
(file);
}
- internal static string BindToClass (Project project,
Stetic.ActionGroupComponent group)
+ internal static string BindToClass (Project project,
Stetic.ActionGroupInfo group)
{
GuiBuilderProject gproject =
GuiBuilderService.GetGuiBuilderProject (project);
string file = gproject.GetSourceCodeFile (group);
@@ -124,7 +124,7 @@
return null;
if (dialog.CreateNew)
- CreateClass (project, group,
dialog.ClassName, dialog.Namespace, dialog.Folder);
+ CreateClass (project,
(Stetic.ActionGroupComponent) group.Component, dialog.ClassName,
dialog.Namespace, dialog.Folder);
string fullName = dialog.Namespace.Length > 0 ?
dialog.Namespace + "." + dialog.ClassName : dialog.ClassName;
group.Name = fullName;
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/ActionGroupView.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/ActionGroupView.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/ActionGroupView.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -45,9 +45,10 @@
CodeBinder codeBinder;
GuiBuilderProject project;
Stetic.ActionGroupComponent group;
+ Stetic.ActionGroupInfo groupInfo;
string groupName;
- public ActionGroupView (IViewContent content,
Stetic.ActionGroupComponent group, GuiBuilderProject project): base (content)
+ public ActionGroupView (IViewContent content,
Stetic.ActionGroupInfo group, GuiBuilderProject project): base (content)
{
groupName = group.Name;
this.project = project;
@@ -56,16 +57,17 @@
void LoadDesigner ()
{
- group = project.GetActionGroup (groupName);
- if (group == null)
+ groupInfo = project.GetActionGroup (groupName);
+ if (groupInfo == null)
// Group not found
return;
-
+
+ group = (Stetic.ActionGroupComponent)
groupInfo.Component;
project.Unloaded += OnDisposeProject;
GtkDesignInfo info = GtkCoreService.GetGtkInfo
(project.Project);
- designer =
project.SteticProject.CreateActionGroupDesigner (group, false);
+ designer =
project.SteticProject.CreateActionGroupDesigner (groupInfo, false);
designer.AllowActionBinding = (info != null &&
!info.GeneratePartialClasses);
designer.BindField += new EventHandler (OnBindField);
@@ -137,7 +139,7 @@
public override void Save (string fileName)
{
- string oldBuildFile =
GuiBuilderService.GetBuildCodeFileName (project.Project, group);
+ string oldBuildFile =
GuiBuilderService.GetBuildCodeFileName (project.Project, groupInfo.Name);
base.Save (fileName);
if (designer == null)
@@ -147,7 +149,7 @@
designer.Save ();
- string newBuildFile =
GuiBuilderService.GetBuildCodeFileName (project.Project, group);
+ string newBuildFile =
GuiBuilderService.GetBuildCodeFileName (project.Project, groupInfo.Name);
if (oldBuildFile != newBuildFile)
Runtime.FileService.MoveFile (oldBuildFile,
newBuildFile);
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CodeBinder.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CodeBinder.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CodeBinder.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -325,5 +325,15 @@
{
return obj.Name;
}
+
+ internal static string GetClassName (Stetic.ProjectItemInfo obj)
+ {
+ return GetObjectName (obj);
+ }
+
+ internal static string GetObjectName (Stetic.ProjectItemInfo
obj)
+ {
+ return obj.Name;
+ }
}
}
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderProject.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderProject.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderProject.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -57,6 +57,7 @@
DateTime lastSaveTime;
object fileSaveLock = new object ();
bool disposed;
+ bool librariesUpdated;
public event WindowEventHandler WindowAdded;
public event WindowEventHandler WindowRemoved;
@@ -91,19 +92,16 @@
IdeApp.Services.MessageService.ShowError (ex,
GettextCatalog.GetString ("The GUI designer project file '{0}' could not be
loaded.", fileName));
hasError = true;
}
-
- // Sync project libraries
- UpdateLibraries ();
gproject.ResourceProvider = GtkCoreService.GetGtkInfo
(project).ResourceProvider;
- gproject.ComponentAdded += new
Stetic.ComponentEventHandler (OnAddWidget);
- gproject.ComponentRemoved += new
Stetic.ComponentRemovedEventHandler (OnRemoveWidget);
+ gproject.WidgetAdded += OnAddWidget;
+ gproject.WidgetRemoved += OnRemoveWidget;
gproject.ActionGroupsChanged += OnGroupsChanged;
- project.FileRemovedFromProject += new
ProjectFileEventHandler (OnFileRemoved);
+ project.FileRemovedFromProject += OnFileRemoved;
project.ReferenceAddedToProject += OnReferenceAdded;
project.ReferenceRemovedFromProject +=
OnReferenceRemoved;
- foreach (Stetic.WidgetComponent ob in
gproject.GetComponents ())
+ foreach (Stetic.WidgetInfo ob in gproject.Widgets)
RegisterWindow (ob, false);
// Monitor changes in the file
@@ -128,10 +126,10 @@
foreach (GuiBuilderWindow win in formInfos)
win.Dispose ();
- gproject.ComponentAdded -= new
Stetic.ComponentEventHandler (OnAddWidget);
- gproject.ComponentRemoved -= new
Stetic.ComponentRemovedEventHandler (OnRemoveWidget);
+ gproject.WidgetAdded -= OnAddWidget;
+ gproject.WidgetRemoved -= OnRemoveWidget;
gproject.ActionGroupsChanged -= OnGroupsChanged;
- project.FileRemovedFromProject -= new
ProjectFileEventHandler (OnFileRemoved);
+ project.FileRemovedFromProject -= OnFileRemoved;
project.ReferenceAddedToProject -= OnReferenceAdded;
project.ReferenceRemovedFromProject -=
OnReferenceRemoved;
gproject.Dispose ();
@@ -139,6 +137,7 @@
formInfos = null;
needsUpdate = true;
hasError = false;
+ librariesUpdated = false;
GuiBuilderService.SteticApp.UpdateWidgetLibraries
(false);
watcher.Dispose ();
@@ -235,16 +234,16 @@
return GuiBuilderService.SteticApp.ActiveProject ==
SteticProject && !disposed;
}
- public Stetic.WidgetComponent AddNewComponent
(Stetic.ComponentType type, string name)
+ public Stetic.WidgetInfo AddNewComponent (Stetic.ComponentType
type, string name)
{
- Stetic.WidgetComponent c =
SteticProject.AddNewComponent (type, name);
+ Stetic.WidgetInfo c = SteticProject.AddNewComponent
(type, name);
RegisterWindow (c, true);
return c;
}
- public Stetic.WidgetComponent AddNewComponent (XmlElement
element)
+ public Stetic.WidgetInfo AddNewComponent (XmlElement element)
{
- Stetic.WidgetComponent c =
SteticProject.AddNewComponent (element);
+ Stetic.WidgetInfo c = SteticProject.AddNewComponent
(element);
// Register the window now, don't wait for the
WidgetAdded event since
// it may take some time, and the GuiBuilderWindow
object is needed
// just after this call
@@ -252,7 +251,7 @@
return c;
}
- void RegisterWindow (Stetic.WidgetComponent widget, bool notify)
+ void RegisterWindow (Stetic.WidgetInfo widget, bool notify)
{
foreach (GuiBuilderWindow w in formInfos)
if (w.RootWidget == widget)
@@ -288,23 +287,23 @@
UnregisterWindow (win);
}
- public void RemoveActionGroup (Stetic.ActionGroupComponent
group)
+ public void RemoveActionGroup (Stetic.ActionGroupInfo group)
{
gproject.RemoveActionGroup (group);
}
- void OnAddWidget (object s, Stetic.ComponentEventArgs args)
+ void OnAddWidget (object s, Stetic.WidgetInfoEventArgs args)
{
if (!disposed)
- RegisterWindow
((Stetic.WidgetComponent)args.Component, true);
+ RegisterWindow (args.WidgetInfo, true);
}
- void OnRemoveWidget (object s, Stetic.ComponentRemovedEventArgs
args)
+ void OnRemoveWidget (object s, Stetic.WidgetInfoEventArgs args)
{
if (disposed)
return;
foreach (GuiBuilderWindow form in Windows) {
- if (form.RootWidget.Name == args.ComponentName)
{
+ if (form.RootWidget.Name ==
args.WidgetInfo.Name) {
UnregisterWindow (form);
break;
}
@@ -334,7 +333,7 @@
void OnReferenceAdded (object ob, ProjectReferenceEventArgs
args)
{
- if (disposed)
+ if (disposed || !librariesUpdated)
return;
string pref = GetReferenceLibraryPath
(args.ProjectReference);
if (pref != null) {
@@ -345,7 +344,7 @@
void OnReferenceRemoved (object ob, ProjectReferenceEventArgs
args)
{
- if (disposed)
+ if (disposed || !librariesUpdated)
return;
string pref = GetReferenceLibraryPath
(args.ProjectReference);
if (pref != null) {
@@ -427,25 +426,21 @@
return null;
}
- public Stetic.ActionGroupComponent GetActionGroupForFile
(string fileName)
+ public Stetic.ActionGroupInfo GetActionGroupForFile (string
fileName)
{
- foreach (Stetic.ActionGroupComponent group in
SteticProject.GetActionGroups ()) {
+ foreach (Stetic.ActionGroupInfo group in
SteticProject.ActionGroups) {
if (fileName == GetSourceCodeFile (group))
return group;
}
return null;
}
- public Stetic.ActionGroupComponent GetActionGroup (string name)
+ public Stetic.ActionGroupInfo GetActionGroup (string name)
{
- foreach (Stetic.ActionGroupComponent group in
SteticProject.GetActionGroups ()) {
- if (name == group.Name)
- return group;
- }
- return null;
+ return SteticProject.GetActionGroup (name);
}
- public string GetSourceCodeFile (Stetic.Component obj)
+ public string GetSourceCodeFile (Stetic.ProjectItemInfo obj)
{
IClass cls = GetClass (obj);
GtkDesignInfo info = GtkCoreService.GetGtkInfo
(project);
@@ -461,7 +456,7 @@
return null;
}
- IClass GetClass (Stetic.Component obj)
+ IClass GetClass (Stetic.ProjectItemInfo obj)
{
string name = CodeBinder.GetClassName (obj);
return FindClass (name);
@@ -500,6 +495,8 @@
if (hasError || disposed || gproject == null)
return;
+ librariesUpdated = true;
+
string[] oldLibs = gproject.WidgetLibraries;
ArrayList libs = new ArrayList ();
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderService.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderService.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderService.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -108,7 +108,7 @@
return null;
}
- public static ActionGroupView OpenActionGroup (Project project,
Stetic.ActionGroupComponent group)
+ public static ActionGroupView OpenActionGroup (Project project,
Stetic.ActionGroupInfo group)
{
GuiBuilderProject p = GetGuiBuilderProject (project);
string file = p != null ? p.GetSourceCodeFile (group) :
null;
@@ -252,17 +252,29 @@
info.GuiBuilderProject.ImportGladeFile ();
}
- public static string GetBuildCodeFileName (Project project,
Stetic.Component component)
+ public static string GetBuildCodeFileName (Project project,
string componentName)
{
GtkDesignInfo info = GtkCoreService.GetGtkInfo
(project);
- return Path.Combine (info.GtkGuiFolder, component.Name
+ Path.GetExtension (info.SteticGeneratedFile));
+ return Path.Combine (info.GtkGuiFolder, componentName +
Path.GetExtension (info.SteticGeneratedFile));
}
+ public static string GenerateSteticCodeStructure (DotNetProject
project, Stetic.ProjectItemInfo item, bool saveToFile, bool overwrite)
+ {
+ return GenerateSteticCodeStructure (project, item,
null, saveToFile, overwrite);
+ }
+
public static string GenerateSteticCodeStructure (DotNetProject
project, Stetic.Component component, bool saveToFile, bool overwrite)
{
+ return GenerateSteticCodeStructure (project, null,
component, saveToFile, overwrite);
+ }
+
+ static string GenerateSteticCodeStructure (DotNetProject
project, Stetic.ProjectItemInfo item, Stetic.Component component, bool
saveToFile, bool overwrite)
+ {
// Generate a class which contains fields for all bound
widgets of the component
- string name = component.Name;
+ string name = item != null ? item.Name : component.Name;
+ string fileName = GetBuildCodeFileName (project, name);
+
string ns = "";
int i = name.LastIndexOf ('.');
if (i != -1) {
@@ -271,11 +283,13 @@
}
GtkDesignInfo info = GtkCoreService.GetGtkInfo
(project);
- string fileName = GetBuildCodeFileName (project,
component);
if (saveToFile && !overwrite && File.Exists (fileName))
return fileName;
+ if (item != null)
+ component = item.Component;
+
CodeCompileUnit cu = new CodeCompileUnit ();
if (info.GeneratePartialClasses) {
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderView.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -67,6 +67,7 @@
{
rootName = window.Name;
gproject = window.Project;
+ gproject.UpdateLibraries ();
LoadDesigner ();
}
@@ -215,7 +216,8 @@
void OnComponentTypesChanged (object s, EventArgs a)
{
- ToolboxProvider.Instance.NotifyItemsChanged ();
+ if (ToolboxProvider.Instance != null)
+ ToolboxProvider.Instance.NotifyItemsChanged ();
}
void OnActionshanged (object s, EventArgs args)
@@ -267,7 +269,7 @@
return;
string oldName = window.RootWidget.Name;
- string oldBuildFile =
GuiBuilderService.GetBuildCodeFileName (gproject.Project, window.RootWidget);
+ string oldBuildFile =
GuiBuilderService.GetBuildCodeFileName (gproject.Project,
window.RootWidget.Name);
codeBinder.UpdateBindings (fileName);
if (!ErrorMode) {
@@ -277,7 +279,7 @@
actionsBox.Save ();
}
- string newBuildFile =
GuiBuilderService.GetBuildCodeFileName (gproject.Project, window.RootWidget);
+ string newBuildFile =
GuiBuilderService.GetBuildCodeFileName (gproject.Project,
window.RootWidget.Name);
if (oldBuildFile != newBuildFile)
Runtime.FileService.MoveFile (oldBuildFile,
newBuildFile);
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderWindow.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderWindow.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/GuiBuilderWindow.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -48,14 +48,14 @@
{
public class GuiBuilderWindow: IDisposable
{
- Stetic.WidgetComponent rootWidget;
+ Stetic.WidgetInfo rootWidget;
GuiBuilderProject fproject;
Stetic.Project gproject;
string name;
public event WindowEventHandler Changed;
- internal GuiBuilderWindow (GuiBuilderProject fproject,
Stetic.Project gproject, Stetic.WidgetComponent rootWidget)
+ internal GuiBuilderWindow (GuiBuilderProject fproject,
Stetic.Project gproject, Stetic.WidgetInfo rootWidget)
{
this.fproject = fproject;
this.rootWidget = rootWidget;
@@ -65,7 +65,7 @@
rootWidget.Changed += OnChanged;
}
- public Stetic.WidgetComponent RootWidget {
+ public Stetic.WidgetInfo RootWidget {
get { return rootWidget; }
}
@@ -90,7 +90,7 @@
void OnProjectReloaded (object s, EventArgs args)
{
rootWidget.Changed -= OnChanged;
- rootWidget = gproject.GetComponent (name);
+ rootWidget = gproject.GetWidget (name);
if (rootWidget != null)
rootWidget.Changed += OnChanged;
}
@@ -144,19 +144,20 @@
CodeRefactorer gen = new CodeRefactorer
(IdeApp.ProjectOperations.CurrentOpenCombine,
IdeApp.ProjectOperations.ParserDatabase);
GtkDesignInfo info = GtkCoreService.GetGtkInfo
(fproject.Project);
+ Stetic.WidgetComponent component =
(Stetic.WidgetComponent) rootWidget.Component;
CodeTypeDeclaration type = new CodeTypeDeclaration ();
type.Name = name;
type.IsClass = true;
type.IsPartial = info.GeneratePartialClasses;
- type.BaseTypes.Add (new CodeTypeReference
(rootWidget.Type.ClassName));
+ type.BaseTypes.Add (new CodeTypeReference
(component.Type.ClassName));
// Generate the constructor. It contains the call that
builds the widget.
CodeConstructor ctor = new CodeConstructor ();
ctor.Attributes = MemberAttributes.Public |
MemberAttributes.Final;
- foreach (object val in
rootWidget.Type.InitializationValues) {
+ foreach (object val in
component.Type.InitializationValues) {
if (val is Enum) {
ctor.BaseConstructorArgs.Add (
new
CodeFieldReferenceExpression (
@@ -192,8 +193,8 @@
// Add signal handlers
- AddSignalsRec (type, rootWidget);
- foreach (Stetic.Component ag in
rootWidget.GetActionGroups ())
+ AddSignalsRec (type, component);
+ foreach (Stetic.Component ag in
component.GetActionGroups ())
AddSignalsRec (type, ag);
// Create the class
@@ -231,7 +232,7 @@
{
if (cls.BaseTypes != null) {
foreach (IReturnType bt in cls.BaseTypes) {
- if (bt.FullyQualifiedName ==
rootWidget.Type.ClassName)
+ if (bt.FullyQualifiedName ==
rootWidget.Component.Type.ClassName)
return true;
IClass baseCls = ctx.GetClass
(bt.FullyQualifiedName, true, true);
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/ActionGroupNodeBuilder.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/ActionGroupNodeBuilder.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/ActionGroupNodeBuilder.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -48,31 +48,31 @@
}
public override Type NodeDataType {
- get { return typeof(Stetic.ActionGroupComponent); }
+ get { return typeof(Stetic.ActionGroupInfo); }
}
public override string GetNodeName (ITreeNavigator thisNode,
object dataObject)
{
- Stetic.ActionGroupComponent group =
(Stetic.ActionGroupComponent) dataObject;
+ Stetic.ActionGroupInfo group = (Stetic.ActionGroupInfo)
dataObject;
return group.Name;
}
public override void BuildNode (ITreeBuilder treeBuilder,
object dataObject, ref string label, ref Gdk.Pixbuf icon, ref Gdk.Pixbuf
closedIcon)
{
- Stetic.ActionGroupComponent group =
(Stetic.ActionGroupComponent) dataObject;
+ Stetic.ActionGroupInfo group = (Stetic.ActionGroupInfo)
dataObject;
label = group.Name;
icon = IdeApp.Services.Resources.GetIcon
("md-gtkcore-actiongroup", Gtk.IconSize.Menu);
}
public override void OnNodeAdded (object dataObject)
{
- Stetic.ActionGroupComponent group =
(Stetic.ActionGroupComponent) dataObject;
+ Stetic.ActionGroupInfo group = (Stetic.ActionGroupInfo)
dataObject;
group.Changed += new EventHandler (OnChanged);
}
public override void OnNodeRemoved (object dataObject)
{
- Stetic.ActionGroupComponent group =
(Stetic.ActionGroupComponent) dataObject;
+ Stetic.ActionGroupInfo group = (Stetic.ActionGroupInfo)
dataObject;
group.Changed -= new EventHandler (OnChanged);
}
@@ -97,12 +97,12 @@
if (doc != null) {
GuiBuilderView view =
doc.GetContent<GuiBuilderView> ();
if (view != null)
- view.ShowActionDesignerView
(((Stetic.ActionGroupComponent) CurrentNode.DataItem).Name);
+ view.ShowActionDesignerView
(((Stetic.ActionGroupInfo) CurrentNode.DataItem).Name);
}
}
else {
Project project = (Project)
CurrentNode.GetParentDataItem (typeof(Project), false);
- Stetic.ActionGroupComponent group =
(Stetic.ActionGroupComponent) CurrentNode.DataItem;
+ Stetic.ActionGroupInfo group =
(Stetic.ActionGroupInfo) CurrentNode.DataItem;
GuiBuilderService.OpenActionGroup (project,
group);
}
}
@@ -125,7 +125,7 @@
return;
Project project = (Project)
CurrentNode.GetParentDataItem (typeof(Project), false);
- Stetic.ActionGroupComponent group =
(Stetic.ActionGroupComponent) CurrentNode.DataItem;
+ Stetic.ActionGroupInfo group = (Stetic.ActionGroupInfo)
CurrentNode.DataItem;
GuiBuilderProject gproject = GtkCoreService.GetGtkInfo
(project).GuiBuilderProject;
string sfile = gproject.GetSourceCodeFile (group);
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WidgetNodeBuilder.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WidgetNodeBuilder.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WidgetNodeBuilder.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -85,7 +85,7 @@
public override void BuildChildNodes (ITreeBuilder builder,
object dataObject)
{
GuiBuilderWindow win = (GuiBuilderWindow) dataObject;
- foreach (Stetic.ActionGroupComponent agroup in
win.RootWidget.GetActionGroups ()) {
+ foreach (Stetic.ActionGroupInfo agroup in
win.RootWidget.ActionGroups) {
builder.AddChild (agroup);
}
}
@@ -93,7 +93,7 @@
public override bool HasChildNodes (ITreeBuilder builder,
object dataObject)
{
GuiBuilderWindow win = (GuiBuilderWindow) dataObject;
- return win.RootWidget.GetActionGroups().Length > 0;
+ return
win.RootWidget.ActionGroups.GetEnumerator().MoveNext ();
}
public override void OnNodeAdded (object dataObject)
Modified:
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WindowsFolderNodeBuilder.cs
===================================================================
---
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WindowsFolderNodeBuilder.cs
2007-05-15 13:57:21 UTC (rev 77403)
+++
trunk/monodevelop/Extras/MonoDevelop.GtkCore/MonoDevelop.GtkCore.NodeBuilders/WindowsFolderNodeBuilder.cs
2007-05-15 14:02:30 UTC (rev 77404)
@@ -88,7 +88,7 @@
builder.AddChild (new StockIconsNode (p));
foreach (GuiBuilderWindow fi in
info.GuiBuilderProject.Windows)
builder.AddChild (fi);
- foreach (Stetic.ActionGroupComponent group in
info.GuiBuilderProject.SteticProject.GetActionGroups ())
+ foreach (Stetic.ActionGroupInfo group in
info.GuiBuilderProject.SteticProject.ActionGroups)
builder.AddChild (group);
}
}
Modified: trunk/monodevelop/Extras/MonoDevelop.GtkCore/lib/libstetic.dll
===================================================================
(Binary files differ)
Modified: trunk/monodevelop/Extras/MonoDevelop.GtkCore/lib/libsteticui.dll
===================================================================
(Binary files differ)
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches