Author: lluis
Date: 2008-02-21 07:54:27 -0500 (Thu, 21 Feb 2008)
New Revision: 96338
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/ChangeLog
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Box.cs
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Container.cs
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Expander.cs
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Frame.cs
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Notebook.cs
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Paned.cs
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/ScrolledWindow.cs
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Table.cs
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/objects.xml
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libsteticui/CecilClassDescriptor.cs
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libsteticui/ContextMenu.cs
Log:
2008-02-21 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* libsteticui/CecilClassDescriptor.cs: Don't create black boxes for
custom widgets which allow children. Fixes bug #361650.
* libsteticui/ContextMenu.cs: Dont show invisible commands.
* libstetic/wrapper/Frame.cs, libstetic/wrapper/Table.cs,
libstetic/wrapper/Paned.cs, libstetic/wrapper/Box.cs,
libstetic/wrapper/ScrolledWindow.cs, libstetic/wrapper/Expander.cs,
libstetic/wrapper/Notebook.cs: Don't add placeholders if they are
not allowed.
* libstetic/wrapper/Container.cs: Don't allow placeholders if a
container can't have children.
* libstetic/wrapper/objects.xml: Hide commands not allowed when
containers does not allow children.
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/ChangeLog
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/ChangeLog
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/ChangeLog
2008-02-21 12:54:27 UTC (rev 96338)
@@ -1,3 +1,18 @@
+2008-02-21 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * libsteticui/CecilClassDescriptor.cs: Don't create black boxes for
+ custom widgets which allow children. Fixes bug #361650.
+ * libsteticui/ContextMenu.cs: Dont show invisible commands.
+ * libstetic/wrapper/Frame.cs, libstetic/wrapper/Table.cs,
+ libstetic/wrapper/Paned.cs, libstetic/wrapper/Box.cs,
+ libstetic/wrapper/ScrolledWindow.cs, libstetic/wrapper/Expander.cs,
+ libstetic/wrapper/Notebook.cs: Don't add placeholders if they are
+ not allowed.
+ * libstetic/wrapper/Container.cs: Don't allow placeholders if a
+ container can't have children.
+ * libstetic/wrapper/objects.xml: Hide commands not allowed when
+ containers does not allow children.
+
2008-02-20 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* libsteticui/ActionComponent.cs, libstetic/wrapper/Action.cs: Added
wrapper
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Box.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Box.cs
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Box.cs
2008-02-21 12:54:27 UTC (rev 96338)
@@ -8,7 +8,7 @@
public override void Wrap (object obj, bool initialized)
{
base.Wrap (obj, initialized);
- if (!initialized) {
+ if (!initialized && AllowPlaceholders) {
Placeholder ph = CreatePlaceholder ();
box.PackStart (ph);
NotifyChildAdded (ph);
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Container.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Container.cs
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Container.cs
2008-02-21 12:54:27 UTC (rev 96338)
@@ -117,7 +117,7 @@
protected virtual bool AllowPlaceholders {
get {
- return true;
+ return true &&
this.ClassDescriptor.AllowChildren;
}
}
@@ -144,6 +144,11 @@
container.BorderWidth = 0;
}
+ internal bool ChildrenAllowed ()
+ {
+ return this.ClassDescriptor.AllowChildren;
+ }
+
int freeze;
protected void Freeze ()
{
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Expander.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Expander.cs
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Expander.cs
2008-02-21 12:54:27 UTC (rev 96338)
@@ -17,7 +17,8 @@
base.Wrap (obj, initialized);
if (!initialized) {
expander.Label = expander.Name;
- AddPlaceholder ();
+ if (AllowPlaceholders)
+ AddPlaceholder ();
}
if (expander.LabelWidget != null)
ObjectWrapper.Create (proj,
expander.LabelWidget);
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Frame.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Frame.cs
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Frame.cs
2008-02-21 12:54:27 UTC (rev 96338)
@@ -14,11 +14,13 @@
frame.Label = "<b>" + frame.Name + "</b>";
((Gtk.Label)frame.LabelWidget).UseMarkup = true;
frame.Shadow = Gtk.ShadowType.None;
- Gtk.Alignment align = new Gtk.Alignment (0, 0,
1, 1);
- align.LeftPadding = 12;
- Container align_wrapper =
(Container)ObjectWrapper.Create (proj, align);
- align_wrapper.AddPlaceholder ();
- ReplaceChild (frame.Child,
(Gtk.Widget)align_wrapper.Wrapped, true);
+ if (AllowPlaceholders) {
+ Gtk.Alignment align = new Gtk.Alignment
(0, 0, 1, 1);
+ align.LeftPadding = 12;
+ Container align_wrapper =
(Container)ObjectWrapper.Create (proj, align);
+ align_wrapper.AddPlaceholder ();
+ ReplaceChild (frame.Child,
(Gtk.Widget)align_wrapper.Wrapped, true);
+ }
}
if (frame.LabelWidget != null)
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Notebook.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Notebook.cs
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Notebook.cs
2008-02-21 12:54:27 UTC (rev 96338)
@@ -12,7 +12,7 @@
public override void Wrap (object obj, bool initialized)
{
base.Wrap (obj, initialized);
- if (!initialized) {
+ if (!initialized && AllowPlaceholders) {
if (notebook.Children.Length != 0) {
// Remove the dummy page Container.Wrap
added
notebook.Remove (notebook.Children[0]);
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Paned.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Paned.cs
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Paned.cs
2008-02-21 12:54:27 UTC (rev 96338)
@@ -7,7 +7,7 @@
public override void Wrap (object obj, bool initialized)
{
base.Wrap (obj, initialized);
- if (!initialized) {
+ if (!initialized && AllowPlaceholders) {
Placeholder ph = CreatePlaceholder ();
paned.Pack1 (ph, true, false);
NotifyChildAdded (ph);
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/ScrolledWindow.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/ScrolledWindow.cs
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/ScrolledWindow.cs
2008-02-21 12:54:27 UTC (rev 96338)
@@ -13,7 +13,7 @@
{
base.Wrap (obj, initialized);
if (!initialized) {
- if (scrolled.Child == null)
+ if (scrolled.Child == null && AllowPlaceholders)
AddPlaceholder ();
HscrollbarPolicy = VscrollbarPolicy =
Gtk.PolicyType.Automatic;
scrolled.ShadowType = Gtk.ShadowType.In;
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Table.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Table.cs
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/Table.cs
2008-02-21 12:54:27 UTC (rev 96338)
@@ -37,6 +37,8 @@
protected override void DoSync ()
{
+ if (!AllowPlaceholders)
+ return;
using (UndoManager.AtomicChange) {
uint left, right, top, bottom;
uint row, col;
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/objects.xml
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/objects.xml
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libstetic/wrapper/objects.xml
2008-02-21 12:54:27 UTC (rev 96338)
@@ -333,9 +333,14 @@
</itemgroups>
<contextmenu>
<command name="InsertBefore" label="Insert Before"
- description="Insert an empty row/column before the
selected one" />
+ description="Insert an empty row/column before the
selected one">
+ <invisible-if check="ChildrenAllowed" />
+ </command>
+
<command name="InsertAfter" label="Insert After"
- description="Insert an empty row/column after the selected
one" />
+ description="Insert an empty row/column after the selected
one">
+ <invisible-if check="ChildrenAllowed" />
+ </command>
</contextmenu>
</object>
@@ -371,9 +376,13 @@
</itemgroups>
<contextmenu>
<command name="InsertBefore" label="Insert Button Before"
- description="Insert a new button before the selected one"
/>
+ description="Insert a new button before the selected one" >
+ <invisible-if check="ChildrenAllowed" />
+ </command>
<command name="InsertAfter" label="Insert Button After"
- description="Insert a new button after the selected one" />
+ description="Insert a new button after the selected one">
+ <invisible-if check="ChildrenAllowed" />
+ </command>
</contextmenu>
</object>
<object type="Gtk.ButtonBox+ButtonBoxChild,gtk-sharp"
wrapper="Stetic.Wrapper.ButtonBox+ButtonBoxChild">
@@ -949,10 +958,13 @@
<property name="BorderWidth" />
<command name="InsertBefore" label="Insert Page Before"
description="Insert a blank page before this one">
+ <invisible-if check="ChildrenAllowed" />
<disabled-if check="CheckInsertBefore" />
</command>
<command name="InsertAfter" label="Insert Page After"
- description="Insert a blank page after this one" />
+ description="Insert a blank page after this one" >
+ <invisible-if check="ChildrenAllowed" />
+ </command>
</itemgroup>
</itemgroups>
<signals>
@@ -975,14 +987,17 @@
</command>
<command name="DeletePage" label="Delete Page"
description="Delete the current page">
+ <invisible-if check="ChildrenAllowed" />
<disabled-if check="CheckDeletePage" />
</command>
<command name="SwapPrevious" label="Swap with Previous Page"
description="Swap the contents of this page with the
contents of the previous page">
+ <invisible-if check="ChildrenAllowed" />
<disabled-if check="CheckPreviousPage" />
</command>
<command name="SwapNext" label="Swap with Next Page"
description="Swap the contents of this page with the
contents of the next page">
+ <invisible-if check="ChildrenAllowed" />
<disabled-if check="CheckNextPage" />
</command>
<command ref="InsertBefore" />
@@ -1256,17 +1271,29 @@
</itemgroups>
<contextmenu>
<command name="InsertRowBefore" label="Insert Row Before"
- description="Insert an empty row above the selected row" />
+ description="Insert an empty row above the selected row">
+ <invisible-if check="ChildrenAllowed" />
+ </command>
<command name="InsertRowAfter" label="Insert Row After"
- description="Insert an empty row below the selected row" />
+ description="Insert an empty row below the selected row">
+ <invisible-if check="ChildrenAllowed" />
+ </command>
<command name="InsertColumnBefore" label="Insert Column Before"
- description="Insert an empty column before the selected
column" />
+ description="Insert an empty column before the selected
column">
+ <invisible-if check="ChildrenAllowed" />
+ </command>
<command name="InsertColumnAfter" label="Insert Column After"
- description="Insert an empty column after the selected
column" />
+ description="Insert an empty column after the selected
column">
+ <invisible-if check="ChildrenAllowed" />
+ </command>
<command name="DeleteRow" label="Delete Row"
- description="Delete the selected row" />
+ description="Delete the selected row">
+ <invisible-if check="ChildrenAllowed" />
+ </command>
<command name="DeleteColumn" label="Delete Column"
- description="Delete the selected column" />
+ description="Delete the selected column">
+ <invisible-if check="ChildrenAllowed" />
+ </command>
</contextmenu>
<glade-transform>
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libsteticui/CecilClassDescriptor.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libsteticui/CecilClassDescriptor.cs
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libsteticui/CecilClassDescriptor.cs
2008-02-21 12:54:27 UTC (rev 96338)
@@ -40,7 +40,7 @@
wrapperClassDescriptor = typeClassDescriptor;
}
- if (steticDefinition == null && NeedsBlackBox
(typeClassDescriptor.Name)) {
+ if (steticDefinition == null && !AllowChildren &&
NeedsBlackBox (typeClassDescriptor.Name)) {
// It is not possible to create instances of
that widget, instead we'll have
// to create the typical custom widget black
box.
Modified:
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libsteticui/ContextMenu.cs
===================================================================
---
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libsteticui/ContextMenu.cs
2008-02-21 12:51:20 UTC (rev 96337)
+++
branches/monodevelop/main/1.0/src/addins/MonoDevelop.GtkCore/lib/stetic/libsteticui/ContextMenu.cs
2008-02-21 12:54:27 UTC (rev 96338)
@@ -52,6 +52,8 @@
if (klass != null) {
foreach (ItemDescriptor id in
klass.ContextMenu) {
CommandDescriptor cmd =
(CommandDescriptor)id;
+ if (!cmd.VisibleFor (widget))
+ continue;
item = new MenuItem (cmd.Label);
if (cmd.Enabled (widget, context)) {
Gtk.Widget wdup = widget, cdup
= context; // FIXME bxc 75689
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches