[MonoDevelop] How can I stop this problem with dock items ?
Lluis Sanchez Gual
lluis at novell.com
Tue Oct 6 05:04:01 EDT 2009
You can call di.Present(false) to make the dock item visible to the user
(even when it is not the active tab of a tabbed group).
El dl 05 de 10 de 2009 a les 21:08 +0100, en/na alan battersby va
escriure:
> Hi,
> My program has six or so Dock items. I have two widgets one contains a
> treeview the other contains a drawing area both are in different dock
> items. When I select an item in the treeview it is displayed in the
> drawing area. This works fine so long as the dock item containing the
> display widget with the drawingarea is fully realized and visible. When
> dock item containing the display widget is not initially selected it
> seems that the drawingarea is not realized (may be wrong because I am
> not sure about this at all) and so a null exception occurs when I try to
> access the drawingarea GdkWindow in the display code called as a result
> of selecting something in the treeview. This happens when I start my
> program and the display widget dock item (which is in a tabbed group of
> three dock items ) is not the selected tab. (If I manually select the
> tab first no problems as the drawing area is realized and visible).
>
> I want to make the dock item containing the display widget be the
> selected tab automatically if it isn't , when I select an item in the
> treeview but I don't know how to do that.
>
> I tried adding code to the display widget to check its GdkWindow and if
> this is null to change the dock item status.
>
> if (drawingarea.GdkWindow == null)
> {
> DockItem di = _df.GetItem(Keys.LATTICE_DISPLAY_DOCK_ID);
> di.Status = DockItemStatus.Dockable;
> di.Visible = true;
> di.Behavior = DockItemBehavior.Normal;
> this.ShowAll();
> }
>
> It seems this is not enough as I am still getting the null exception, I
> think I need to access the tabbed group in the DockFrame and make the
> drawingarea the selected tab and if anyone can tell me how to do this I
> would be most grateful.
>
> Thanks
> Alan
>
> The layout is
>
> <layout name="LATTICE" width="1142" height="747" size="1142"
> prefSize="1142" defaultHorSize="-1" defaultVerSize="-1" type="Horizontal">
> <group size="275" prefSize="275" defaultHorSize="86.2099490249485"
> defaultVerSize="100" type="Tabbed" currentTabPage="3">
> <item size="0" prefSize="0" defaultHorSize="100"
> defaultVerSize="135.448671792079" id="CellLib" visible="True"
> status="Dockable" autoHideSize="284" />
> <item size="0" prefSize="0" defaultHorSize="100"
> defaultVerSize="100" id="PropExplorer" visible="True" status="Dockable" />
> <item size="0" prefSize="0" defaultHorSize="100"
> defaultVerSize="100" id="Pathexplorer" visible="True" status="Dockable" />
> <item size="0" prefSize="0" defaultHorSize="100"
> defaultVerSize="100" id="LatLib" visible="True" status="Dockable" />
> </group>
> <group size="857" prefSize="857" defaultHorSize="268.468531431888"
> defaultVerSize="100" type="Horizontal">
> <group size="857" prefSize="857" defaultHorSize="97.5819993306241"
> defaultVerSize="100" type="Vertical">
> <group size="747" prefSize="747"
> defaultHorSize="131.275107773287" defaultVerSize="78.1380753138076"
> type="Tabbed" currentTabPage="2">
> <item size="0" prefSize="0" defaultHorSize="100"
> defaultVerSize="100" id="Celleditor" visible="True" status="Dockable" />
> <item size="0" prefSize="0" defaultHorSize="100"
> defaultVerSize="100" id="Surface" visible="True" status="Dockable" />
> <item size="0" prefSize="0" defaultHorSize="100"
> defaultVerSize="100" id="Latdisp" visible="True" status="Dockable" />
> *** the drawing area
> </group>
> </group>
> <item size="347" prefSize="168.658643326039"
> defaultHorSize="34.3090735477622" defaultVerSize="100"
> id="Pathgenerator" visible="True" status="AutoHide"
> autoHidePosition="Right" autoHideSize="334" />
> </group>
> <group size="257.845296167248" prefSize="233.970731707317"
> defaultHorSize="93.1354866005334" defaultVerSize="100" type="Tabbed"
> currentTabPage="0">
> <item size="0" prefSize="0" defaultHorSize="114.584377122372"
> defaultVerSize="100" id="Headstock" visible="True" status="AutoHide"
> autoHidePosition="Right" autoHideSize="294" />
> <item size="0" prefSize="0" defaultHorSize="100"
> defaultVerSize="100" id="Gcodegenerator" visible="True"
> status="AutoHide" autoHidePosition="Right" autoHideSize="294"
> floatX="448" floatY="85" floatWidth="437" floatHeight="952" />
> </group>
> </layout>
> _______________________________________________
> Monodevelop-list mailing list
> Monodevelop-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/monodevelop-list
More information about the Monodevelop-list
mailing list