## Most entries here are for specifying the add methods for each Container
## Others are here for renaming some parameters or to specify default values.
##
## Usage:
## Tweak a creation method:
##   new.creation_method_name=param1[=value];param2[=value]
## Tweak the default creation method
##   new = param1[=value];param2[=value]
## List the container add methods:
##   adds=add_method_1;add_method_2
## Tweak an add method:
##   add.add_method_1=param1[=value];param2=[value]
##
## Given a specific container X, the order of picking a method is
## - the implicits files in --implicitsdir come first, in the order the dirs 
##   were specified, then comes the installed ${PREFIX}/share/gtkaml/*.implicits  
## - then the methods listed under the [X] group, in the order they are listed
## - then the methods listed under [Y] where X extends Y. 
##   (repeated for the whole class hierarchy)
##
## You can have your own NS.implicits file, where NS is a Vala namespace
## You specify an aditional folder for gtkamlc too look in with --implicitsdir
## And the files configuring the same namespace NS have their definitions merged

[Label]
## rename the parameter 'str' to 'label'
new = label
new.with_mnemonic = label

[MenuItem]
## rename the parameter 'str' to 'label'
new.with_label = label
new.with_mnemonic = label

[Container]
## see issue #7 - we can't use add () for the moment because its a signal
adds=add_with_properties

[ScrolledWindow]
## actually add_with_properties reffers to Container.add_with_properties
## Here we just make it the first to pick by default
adds = add_with_properties;add_with_viewport
new = hadjustment={null};vadjustment={null}

[Box]
adds = pack_start;pack_end;pack_start_defaults;pack_end_defaults
## defaulting as per pack_start_defaults/pack_end_defaults
add.pack_start = widget;expand=true;fill=true;padding=0
add.pack_end   = widget;expand=true;fill=true;padding=0

[VBox]
## default values
new = homogeneous=false;spacing=0

[HBox]
## default values
new = homogeneous=false;spacing=0

[Fixed]
adds = put

[Paned]
adds = add1;add2;pack1;pack2

[Layout]
adds = put

[Window]
## defaulting to toplevel window
new = type={WindowType.TOPLEVEL}

[MenuShell]
adds = append;prepend;insert;
## renaming parameter 
add.insert = position

[ImageMenuItem]
## defaulting the accel_group attribute to null
new.from_stock = stock_id;accel_group={null}

[Notebook]
adds = append_page;append_page_menu;prepend_page;prepend_page_menu;insert_page;insert_page_menu

[Socket]
adds = add_id

[Table]
adds = attach;attach_defaults; 
## renaming parameters
new = n_rows;n_columns;homogeneous

[Toolbar]
adds = insert

[TreeView]
adds = append_column;remove_column;insert_column

[TreeViewColumn]
adds = pack_start;pack_end;add_attribute

[Dialog]
adds = add_action_widget

[ActionGroup]
adds = add_action;add_action_with_accel
