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

Reply via email to