Author: lluis
Date: 2007-01-25 10:17:55 -0500 (Thu, 25 Jan 2007)
New Revision: 71669
Modified:
trunk/stetic/ChangeLog
trunk/stetic/libstetic/editor/ActionMenuItem.cs
trunk/stetic/libstetic/editor/ActionToolItem.cs
trunk/stetic/libsteticui/CodeGenerator.cs
trunk/stetic/libsteticui/CodeGeneratorInternalClass.cs
trunk/stetic/libsteticui/CodeGeneratorPartialClass.cs
Log:
* libsteticui/CodeGenerator.cs,
libsteticui/CodeGeneratorInternalClass.cs,
libsteticui/CodeGeneratorPartialClass.cs: Make sure the globla
Initialization is called from internal and partial classes.
* libstetic/editor/ActionMenuItem.cs,
libstetic/editor/ActionToolItem.cs: Fix compilation conflict with
recent gtk# versions.
Modified: trunk/stetic/ChangeLog
===================================================================
--- trunk/stetic/ChangeLog 2007-01-25 15:15:10 UTC (rev 71668)
+++ trunk/stetic/ChangeLog 2007-01-25 15:17:55 UTC (rev 71669)
@@ -1,3 +1,13 @@
+2007-01-25 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * libsteticui/CodeGenerator.cs,
+ libsteticui/CodeGeneratorInternalClass.cs,
+ libsteticui/CodeGeneratorPartialClass.cs: Make sure the globla
+ Initialization is called from internal and partial classes.
+ * libstetic/editor/ActionMenuItem.cs,
+ libstetic/editor/ActionToolItem.cs: Fix compilation conflict with
+ recent gtk# versions.
+
2007-01-22 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* libsteticui/WidgetDesigner.cs: Avoid disposing twice the designer.
Modified: trunk/stetic/libstetic/editor/ActionMenuItem.cs
===================================================================
--- trunk/stetic/libstetic/editor/ActionMenuItem.cs 2007-01-25 15:15:10 UTC
(rev 71668)
+++ trunk/stetic/libstetic/editor/ActionMenuItem.cs 2007-01-25 15:17:55 UTC
(rev 71669)
@@ -237,9 +237,9 @@
if (barItem) {
icon = null;
- } else if (node.Action.Type == Action.ActionType.Radio)
{
+ } else if (node.Action.Type ==
Stetic.Wrapper.Action.ActionType.Radio) {
icon = new CheckActionIcon (true,
node.Action.Active);
- } else if (node.Action.Type ==
Action.ActionType.Toggle) {
+ } else if (node.Action.Type ==
Stetic.Wrapper.Action.ActionType.Toggle) {
icon = new CheckActionIcon
(node.Action.DrawAsRadio, node.Action.Active);
}
@@ -373,19 +373,19 @@
Gtk.CheckMenuItem item = new Gtk.CheckMenuItem
(Catalog.GetString ("Action"));
item.DrawAsRadio = true;
- item.Active = (node.Action.Type ==
Action.ActionType.Action);
+ item.Active = (node.Action.Type ==
Stetic.Wrapper.Action.ActionType.Action);
item.Activated += OnSetActionType;
menu.Insert (item, -1);
item = new Gtk.CheckMenuItem (Catalog.GetString ("Radio
Action"));
item.DrawAsRadio = true;
- item.Active = (node.Action.Type ==
Action.ActionType.Radio);
+ item.Active = (node.Action.Type ==
Stetic.Wrapper.Action.ActionType.Radio);
item.Activated += OnSetRadioType;
menu.Insert (item, -1);
item = new Gtk.CheckMenuItem (Catalog.GetString
("Toggle Action"));
item.DrawAsRadio = true;
- item.Active = (node.Action.Type ==
Action.ActionType.Toggle);
+ item.Active = (node.Action.Type ==
Stetic.Wrapper.Action.ActionType.Toggle);
item.Activated += OnSetToggleType;
menu.Insert (item, -1);
@@ -426,7 +426,7 @@
void OnSetToggleType (object ob, EventArgs args)
{
using (node.Action.UndoManager.AtomicChange) {
- node.Action.Type = Action.ActionType.Toggle;
+ node.Action.Type =
Stetic.Wrapper.Action.ActionType.Toggle;
node.Action.NotifyChanged ();
}
}
@@ -434,7 +434,7 @@
void OnSetRadioType (object ob, EventArgs args)
{
using (node.Action.UndoManager.AtomicChange) {
- node.Action.Type = Action.ActionType.Radio;
+ node.Action.Type =
Stetic.Wrapper.Action.ActionType.Radio;
node.Action.NotifyChanged ();
}
}
@@ -442,7 +442,7 @@
void OnSetActionType (object ob, EventArgs args)
{
using (node.Action.UndoManager.AtomicChange) {
- node.Action.Type = Action.ActionType.Action;
+ node.Action.Type =
Stetic.Wrapper.Action.ActionType.Action;
node.Action.NotifyChanged ();
}
}
Modified: trunk/stetic/libstetic/editor/ActionToolItem.cs
===================================================================
--- trunk/stetic/libstetic/editor/ActionToolItem.cs 2007-01-25 15:15:10 UTC
(rev 71668)
+++ trunk/stetic/libstetic/editor/ActionToolItem.cs 2007-01-25 15:17:55 UTC
(rev 71669)
@@ -278,19 +278,19 @@
Gtk.CheckMenuItem item = new Gtk.CheckMenuItem
(Catalog.GetString ("Action"));
item.DrawAsRadio = true;
- item.Active = (node.Action.Type ==
Action.ActionType.Action);
+ item.Active = (node.Action.Type ==
Stetic.Wrapper.Action.ActionType.Action);
item.Activated += OnSetActionType;
menu.Insert (item, -1);
item = new Gtk.CheckMenuItem (Catalog.GetString ("Radio
Action"));
item.DrawAsRadio = true;
- item.Active = (node.Action.Type ==
Action.ActionType.Radio);
+ item.Active = (node.Action.Type ==
Stetic.Wrapper.Action.ActionType.Radio);
item.Activated += OnSetRadioType;
menu.Insert (item, -1);
item = new Gtk.CheckMenuItem (Catalog.GetString
("Toggle Action"));
item.DrawAsRadio = true;
- item.Active = (node.Action.Type ==
Action.ActionType.Toggle);
+ item.Active = (node.Action.Type ==
Stetic.Wrapper.Action.ActionType.Toggle);
item.Activated += OnSetToggleType;
menu.Insert (item, -1);
@@ -333,7 +333,7 @@
void OnSetToggleType (object ob, EventArgs args)
{
using (node.Action.UndoManager.AtomicChange) {
- node.Action.Type = Action.ActionType.Toggle;
+ node.Action.Type =
Stetic.Wrapper.Action.ActionType.Toggle;
node.Action.NotifyChanged ();
}
}
@@ -341,7 +341,7 @@
void OnSetRadioType (object ob, EventArgs args)
{
using (node.Action.UndoManager.AtomicChange) {
- node.Action.Type = Action.ActionType.Radio;
+ node.Action.Type =
Stetic.Wrapper.Action.ActionType.Radio;
node.Action.NotifyChanged ();
}
}
@@ -349,7 +349,7 @@
void OnSetActionType (object ob, EventArgs args)
{
using (node.Action.UndoManager.AtomicChange) {
- node.Action.Type = Action.ActionType.Action;
+ node.Action.Type =
Stetic.Wrapper.Action.ActionType.Action;
node.Action.NotifyChanged ();
}
}
Modified: trunk/stetic/libsteticui/CodeGenerator.cs
===================================================================
--- trunk/stetic/libsteticui/CodeGenerator.cs 2007-01-25 15:15:10 UTC (rev
71668)
+++ trunk/stetic/libsteticui/CodeGenerator.cs 2007-01-25 15:17:55 UTC (rev
71669)
@@ -59,7 +59,7 @@
CodeMemberMethod initMethod = new CodeMemberMethod ();
initMethod.Name = "Initialize";
initMethod.ReturnType = new CodeTypeReference
(typeof(void));
- initMethod.Attributes = MemberAttributes.Private |
MemberAttributes.Static;
+ initMethod.Attributes = MemberAttributes.Assembly |
MemberAttributes.Static;
GeneratorContext initContext = new
ProjectGeneratorContext (globalNs, globalType, initMethod.Statements, options);
// Generate icon factory creation
@@ -81,32 +81,31 @@
// Final step. If there is some initialization code,
add all needed infrastructure
- if (initMethod.Statements.Count > 0) {
- globalType.Members.Add (initMethod);
-
- CodeMemberField initField = new CodeMemberField
(typeof(bool), "initialized");
- initField.Attributes = MemberAttributes.Private
| MemberAttributes.Static;
- globalType.Members.Add (initField);
-
- CodeFieldReferenceExpression initVar = new
CodeFieldReferenceExpression (
- new CodeTypeReferenceExpression
(globalNs.Name + ".Gui"),
- "initialized"
- );
-
- CodeConditionStatement initCondition = new
CodeConditionStatement ();
- initCondition.Condition = new
CodeBinaryOperatorExpression (
- initVar,
- CodeBinaryOperatorType.IdentityEquality,
- new CodePrimitiveExpression (false)
- );
- initCondition.TrueStatements.Add (
- new CodeMethodInvokeExpression (
- new CodeTypeReferenceExpression
(globalNs.Name + ".Gui"),
- "Initialize"
- )
- );
- initMethod.Statements.Insert (0, initCondition);
- }
+ globalType.Members.Add (initMethod);
+
+ CodeMemberField initField = new CodeMemberField
(typeof(bool), "initialized");
+ initField.Attributes = MemberAttributes.Private |
MemberAttributes.Static;
+ globalType.Members.Add (initField);
+
+ CodeFieldReferenceExpression initVar = new
CodeFieldReferenceExpression (
+ new CodeTypeReferenceExpression (globalNs.Name
+ ".Gui"),
+ "initialized"
+ );
+
+ CodeConditionStatement initCondition = new
CodeConditionStatement ();
+ initCondition.Condition = new
CodeBinaryOperatorExpression (
+ initVar,
+ CodeBinaryOperatorType.IdentityEquality,
+ new CodePrimitiveExpression (false)
+ );
+ initCondition.TrueStatements.Add (new
CodeAssignStatement (
+ initVar,
+ new CodePrimitiveExpression (true)
+ ));
+ initCondition.TrueStatements.AddRange
(initMethod.Statements);
+ initMethod.Statements.Clear ();
+ initMethod.Statements.Add (initCondition);
+
return new CodeGenerationResult (units.ToArray (),
(string[]) warningList.ToArray (typeof(string)));
}
Modified: trunk/stetic/libsteticui/CodeGeneratorInternalClass.cs
===================================================================
--- trunk/stetic/libsteticui/CodeGeneratorInternalClass.cs 2007-01-25
15:15:10 UTC (rev 71668)
+++ trunk/stetic/libsteticui/CodeGeneratorInternalClass.cs 2007-01-25
15:17:55 UTC (rev 71669)
@@ -84,6 +84,13 @@
CodeStatementCollection projectCol = met.Statements;
+ met.Statements.Add (
+ new CodeMethodInvokeExpression (
+ new CodeTypeReferenceExpression
(globalNs.Name + ".Gui"),
+ "Initialize"
+ )
+ );
+
// Generate code for each project
foreach (ProjectBackend gp in projects) {
Modified: trunk/stetic/libsteticui/CodeGeneratorPartialClass.cs
===================================================================
--- trunk/stetic/libsteticui/CodeGeneratorPartialClass.cs 2007-01-25
15:15:10 UTC (rev 71668)
+++ trunk/stetic/libsteticui/CodeGeneratorPartialClass.cs 2007-01-25
15:17:55 UTC (rev 71669)
@@ -72,6 +72,13 @@
return;
}
+ met.Statements.Add (
+ new CodeMethodInvokeExpression (
+ new CodeTypeReferenceExpression
(globalNs.Name + ".Gui"),
+ "Initialize"
+ )
+ );
+
Stetic.Wrapper.Widget wwidget =
Stetic.Wrapper.Widget.Lookup (w);
Stetic.WidgetMap map =
Stetic.CodeGenerator.GenerateCreationCode (globalNs, type, w, new
CodeThisReferenceExpression (), met.Statements, options, warnings);
CodeGenerator.BindSignalHandlers (new
CodeThisReferenceExpression (), wwidget, map, met.Statements, options);
@@ -102,6 +109,13 @@
met.ReturnType = new CodeTypeReference (typeof(void));
met.Attributes = MemberAttributes.Public;
+ met.Statements.Add (
+ new CodeMethodInvokeExpression (
+ new CodeTypeReferenceExpression
(globalNs.Name + ".Gui"),
+ "Initialize"
+ )
+ );
+
Stetic.WidgetMap map =
Stetic.CodeGenerator.GenerateCreationCode (globalNs, type, agroup, new
CodeThisReferenceExpression (), met.Statements, options, warnings);
foreach (Wrapper.Action ac in agroup.Actions)
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches