Changeset 161


Ignore:
Timestamp:
Jan 2, 2007, 11:34:46 AM (19 years ago)
Author:
cinc
Message:

Preliminary implementation of some menu methods

Location:
trunk/foundation
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/foundation/class_c/nommenu.c

    r151 r161  
    5151
    5252
    53 NOM_Scope PGtkWidget NOMLINK impl_NOMMenu_getMenuHandle(NOMMenu* nomSelf, CORBA_Environment *ev)
     53NOM_Scope PGtkWidget NOMLINK impl_NOMMenu_queryMenuHandle(NOMMenu* nomSelf, CORBA_Environment *ev)
    5454{
    5555  NOMMenuData* nomThis=NOMMenuGetData(nomSelf);
     
    5757  return _pgMenuHandle;
    5858}
    59 
    6059
    6160/* orbit-idl-c-stubs.c, cs_output_stub line 347 */
     
    6564  GtkWidget* menuItem;
    6665
    67   NOMMenu_nomInit_parent(nomSelf,  ev);
     66  NOMMenu_nomInit_parent((NOMObject*)nomSelf,  ev);
    6867  _pgMenuHandle=gtk_menu_new();
    6968
    70   /* This is only for testing... */
    71   menuItem=gtk_menu_item_new_with_label("Blabbla");
    72   gtk_widget_show(menuItem);
    73   gtk_menu_shell_append(GTK_MENU_SHELL(_pgMenuHandle), menuItem);
     69  /* Make sure we have a reference to the class so the garbage collector
     70     doesn't unload us */
     71  g_object_set_data(G_OBJECT(_pgMenuHandle), NOMOBJECT_KEY_STRING, nomSelf);
    7472}
    7573
  • trunk/foundation/class_c/nommenuitem.c

    r149 r161  
    5151
    5252
    53 NOM_Scope void NOMLINK impl_NOMMenuItem_appendMenuItem(NOMMenuItem* nomSelf, CORBA_Environment *ev)
     53NOM_Scope PGtkWidget NOMLINK impl_NOMMenuItem_queryMenuItemHandle(NOMMenuItem* nomSelf, CORBA_Environment *ev)
    5454{
    55 /* NOMMenuItemData* nomThis=NOMMenuItemGetData(nomSelf); */
     55  NOMMenuItemData* nomThis=NOMMenuItemGetData(nomSelf);
    5656
     57  return _pgMenuItemHandle;
     58}
     59
     60NOM_Scope void NOMLINK impl_NOMMenuItem_setNameSpaceId(NOMMenuItem* nomSelf, const nomId nameSpaceId, CORBA_Environment *ev)
     61{
     62  NOMMenuItemData* nomThis=NOMMenuItemGetData(nomSelf);
     63  _nomIdNameSpace=nameSpaceId;
     64}
     65
     66NOM_Scope nomId NOMLINK impl_NOMMenuItem_queryNameSpaceId(NOMMenuItem* nomSelf, CORBA_Environment *ev)
     67{
     68  NOMMenuItemData* nomThis=NOMMenuItemGetData(nomSelf);
     69
     70  return _nomIdNameSpace;
     71}
     72
     73NOM_Scope void NOMLINK impl_NOMMenuItem_setMenuItemId(NOMMenuItem* nomSelf, const CORBA_unsigned_long ulMenuItemId, CORBA_Environment *ev)
     74{
     75  NOMMenuItemData* nomThis=NOMMenuItemGetData(nomSelf);
     76  _ulMenuItemId=ulMenuItemId;
     77}
     78
     79NOM_Scope CORBA_unsigned_long NOMLINK impl_NOMMenuItem_queryMenuItemId(NOMMenuItem* nomSelf, CORBA_Environment *ev)
     80{
     81  NOMMenuItemData* nomThis=NOMMenuItemGetData(nomSelf);
     82
     83  return _ulMenuItemId;
     84}
     85
     86
     87NOM_Scope PNOMMenuItem NOMLINK impl_NOMMenuItem_setupMenuItem(NOMMenuItem* nomSelf, const CORBA_char * chrLabel,
     88                                                              const nomId nameSpaceId, const CORBA_unsigned_long ulMenuItemId,
     89                                                              CORBA_Environment *ev)
     90{
     91  GtkWidget *accWidget;
     92
     93  NOMMenuItemData* nomThis=NOMMenuItemGetData(nomSelf);
     94
     95  NOMMenuItem_setNameSpaceId(nomSelf, nameSpaceId, ev);
     96  NOMMenuItem_setMenuItemId(nomSelf, ulMenuItemId, ev);
     97
     98  /* Create the label with mnemonic if any */
     99  accWidget=g_object_new(GTK_TYPE_ACCEL_LABEL, NULL);
     100  gtk_label_set_text_with_mnemonic(GTK_LABEL(accWidget), chrLabel);
     101  gtk_misc_set_alignment(GTK_MISC(accWidget), 0.0, 0.5);
     102  gtk_container_add(GTK_CONTAINER(_pgMenuItemHandle), accWidget);
     103  gtk_accel_label_set_accel_widget(GTK_ACCEL_LABEL(accWidget), _pgMenuItemHandle);
     104  gtk_widget_show(accWidget);
     105
     106  gtk_widget_show(_pgMenuItemHandle);
     107  return nomSelf;
    57108}
    58109
     
    61112NOM_Scope void NOMLINK impl_NOMMenuItem_nomInit(NOMMenuItem* nomSelf, CORBA_Environment *ev)
    62113{
    63 /* NOMMenuItemData* nomThis=NOMMenuItemGetData(nomSelf); */
     114  NOMMenuItemData* nomThis=NOMMenuItemGetData(nomSelf);
     115  NOMMenuItem_nomInit_parent((NOMObject*)nomSelf,  ev);
    64116
    65   /* orbit-idl-c-stubs.c, VoyagerWriteProtoForParentCall line 119 */
    66   NOMMenuItem_nomInit_parent(nomSelf,  ev);
     117  _pgMenuItemHandle=gtk_menu_item_new();
     118
     119  /* Make sure we have a reference to the class so the garbage collector
     120     doesn't unload us */
     121  g_object_set_data(G_OBJECT(_pgMenuItemHandle), NOMOBJECT_KEY_STRING, nomSelf);
    67122}
    68123
    69124
    70125
     126
     127
     128
  • trunk/foundation/idl/nommenu.idl

    r151 r161  
    5151  NOMCLASSVERSION(1, 0);
    5252
    53   PGtkWidget getMenuHandle();
     53  PGtkWidget queryMenuHandle();
     54
    5455  NOMOVERRIDE(nomInit);
    5556  NOMOVERRIDE(nomUninit);
  • trunk/foundation/idl/nommenuitem.idl

    r155 r161  
    5151  NOMCLASSVERSION(1, 0);
    5252
    53   void appendMenuItem();
     53  PGtkWidget queryMenuItemHandle();
     54  void setNameSpaceId(in nomId nameSpaceId);
     55  nomId queryNameSpaceId();
     56  void setMenuItemId(in unsigned long ulMenuItemId);
     57  unsigned long queryMenuItemId();
     58
     59  PNOMMenuItem setupMenuItem(in string chrLabel, in nomId nameSpaceId, in unsigned long ulMenuItemId);
    5460
    5561  NOMOVERRIDE(nomInit);
    5662
    57   NOMINSTANCEVAR(PGtkWidget _pgMenuItemHandle);
     63  NOMINSTANCEVAR(PGtkWidget pgMenuItemHandle);
     64  NOMINSTANCEVAR(nomId nomIdNameSpace);
     65  NOMINSTANCEVAR(gulong ulMenuItemId);
     66
    5867};
    5968
Note: See TracChangeset for help on using the changeset viewer.