Package OpenCAGE.Window_Masters.Displays

Contains the display of the window master: the window, the controller and necessary observers to update the display when necessary.

Class Window_Master_Display

extends OpenCAGE.Masters.Displays.Master_Display

The window (display) that is the 'visible' Window_Master.


private Gtk.CTree.Gtk_CTree List 

The tree that contains the displayed windows.

private OpenCAGE.Window_Masters.Models.Window_Master_Model Model 

The used Window_Master_Model.

private Boolean Update_In_Progress 

If this is set to true, all GUI events are discarded.

private OpenCAGE.GUI.Menus.Top_Menus.Top_Menu Context_Menu 

private OpenCAGE.GUI.Con_Men_Handlers.Con_Men_Handler Context_Menu_Handler 


private Build( Gtk.Window.Gtk_Window Window);

Create the necessary gui elements and add them to the window.

public Add_Display_Controller( OpenCAGE.GUI.Display_Controllers.Display_Controller DC);

public Remove_Display_Controller( OpenCAGE.GUI.Display_Controllers.Display_Controller DC);

public Event( Ada.Strings.Unbounded.Unbounded_String Link);

This is called by an event handler if an event occured (You guessed that. This description is very abstract, because the class is also very abstract). [This description is adopted from 'OpenCAGE.Dialogs.Handlers.Handler_Target'.]

public Boolean Can_Execute( Ada.Strings.Unbounded.Unbounded_String Link);

returns true if a (button) event with the given link string will be handeled. This can be used to gray out the buttons if they shouldn't be used. [This description is adopted from 'OpenCAGE.Dialogs.Handlers.Handler_Target'.]

public Focus_Display_Controller( OpenCAGE.GUI.Display_Controllers.Display_Controller DC);

private Gtk.CTree.Gtk_CTree_Node Get_Model_Node( Gtk.CTree.Gtk_CTree Tree, OpenCAGE.GIF.Node_Model Node);

Looks for the node in the tree that corresponds to the given node model and returns it. It is created if it does not exist.

private Cleanup_Tree( Gtk.CTree.Gtk_CTree Tree);

Remove leaf model nodes from the tree.

private Sort_Tree( Gtk.CTree.Gtk_CTree Tree);

Sorts the tree.

Class Window_Master_Display_Observer

extends OpenCAGE.Window_Masters.Models.Window_Master_Model_Observer


private OpenCAGE.Window_Masters.Displays.Window_Master_Display Display 


public Changed( OpenCAGE.Window_Masters.Models.Window_Master_Model_Message Message, OpenCAGE.GUI.Display_Controllers.Display_Controller DC);

Is called by the observed Window_Master_Model when something has changed [This description is adopted from 'OpenCAGE.Window_Masters.Models.Window_Master_Model_Observer'.]