Changeset 163


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

Moved menu classes to gui tree.

Location:
trunk/gui
Files:
6 edited
4 copied

Legend:

Unmodified
Added
Removed
  • trunk/gui/Makefile

    r146 r163  
    2626                        -I $(FOUNDATIONPATH)/class_h -I $(FOUNDATIONPATH)/include
    2727
    28 ADDLIBS         =        -l$(OBJDIR)/nobjtk
     28ADDLIBS         =        -l$(OBJDIR)/nobjtk -l$(OBJDIR)/voywp
    2929
    3030# Define objects to build
     
    3232
    3333CLASSOBJECTS    =       $(OBJDIR)/nomwindow.o \
    34                         $(OBJDIR)/nomfolderwindow.o
     34                        $(OBJDIR)/nomfolderwindow.o \
     35                        $(OBJDIR)/nommenu.o \
     36                        $(OBJDIR)/nommenuitem.o
     37
    3538
    3639.PRECIOUS:      $(CLASSINC)/%.ih $(CLASSCDIR)/%.c $(CDIR)/%.c
  • trunk/gui/class_c/nomfolderwindow.c

    r146 r163  
    5050
    5151
    52 NOM_Scope PGtkWidget NOMLINK impl_NOMFolderWindow_getContainerHandle(NOMFolderWindow* nomSelf, CORBA_Environment *ev)
     52NOM_Scope PGtkWidget NOMLINK impl_NOMFolderWindow_queryContainerHandle(NOMFolderWindow* nomSelf, CORBA_Environment *ev)
    5353{
    5454  NOMFolderWindowData* nomThis=NOMFolderWindowGetData(nomSelf);
     
    7676}
    7777
    78 NOM_Scope PWPFolder NOMLINK impl_NOMFolderWindow_getWPFolderObject(NOMFolderWindow* nomSelf, CORBA_Environment *ev)
     78NOM_Scope PWPFolder NOMLINK impl_NOMFolderWindow_queryWPFolderObject(NOMFolderWindow* nomSelf, CORBA_Environment *ev)
    7979{
    8080  NOMFolderWindowData* nomThis=NOMFolderWindowGetData(nomSelf);
     
    136136          /* Click on white space */
    137137          WPFolder* wpFolder;
    138           wpFolder=NOMFolderWindow_getWPFolderObject(pWindow, NULLHANDLE);
     138          wpFolder=NOMFolderWindow_queryWPFolderObject(pWindow, NULLHANDLE);
    139139          g_message("%s: %s", __FUNCTION__, wpFolder->mtab->nomClassName);
     140          WPObject_wpDisplayMenu(wpFolder, pWindow, NULL, 0, 0, NULL);
    140141        }
    141142      else
     
    157158                             -1);
    158159          g_message("%s: %s", __FUNCTION__, wpObject->mtab->nomClassName);
    159 
     160          WPObject_wpDisplayMenu(wpObject, pWindow, NULL, 0, 0, NULL);
    160161        }
    161 
    162 #if 0     
    163       /* This is the folder object not the object on which a click occured */
    164       WPObject *wpObject=(WPObject*)user_data;
    165       if(nomIsObj(wpObject)){
    166         nomPrintf("%s: %x->%s\n", __FUNCTION__, wpObject, wpObject->mtab->nomClassName);       
    167       }
    168 
    169       if(!somIsObj(wpObject))
    170         return TRUE;
    171 
    172       /* ptlPopupPt is NULLHANDLE because GTK automatically pick a useful position for the popup
    173          menu. */
    174       _wpDisplayMenu(wpObject, NULLHANDLE, (HWND) widget, NULLHANDLE, 0, (ULONG) 0);
    175       return TRUE;
    176 #endif
    177162    }
    178 
    179163  return FALSE;
    180164}
     165
     166
     167static gboolean
     168handleEvent (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
     169{
     170  DosBeep(5000, 100);
     171 
     172  return FALSE;
     173}
     174
     175extern gpointer *pGlobalMemInExe;
    181176
    182177NOM_Scope void NOMLINK impl_NOMFolderWindow_nomInit(NOMFolderWindow* nomSelf, CORBA_Environment *ev)
     
    188183  GtkWidget *tool_bar;
    189184  GtkToolItem *up_button;
     185  //  GtkWidget *menuBar, *file;
    190186
    191187  NOMFolderWindowData* nomThis=NOMFolderWindowGetData(nomSelf);
     
    204200  gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
    205201
     202  /* Make sure we have a reference to the class so the garbage collector
     203     doesn't unload us */
     204  g_object_set_data(G_OBJECT(window), NOMOBJECT_KEY_STRING, nomSelf);
     205
     206#if 0
     207  menuBar=gtk_menu_bar_new();
     208  file=gtk_menu_item_new_with_label("File");
     209  //gtk_signal_connect(GTK_OBJECT(file), "destroy", GTK_SIGNAL_FUNC(tst), NULL);
     210
     211  gtk_container_add(GTK_CONTAINER(menuBar), file);
     212  gtk_widget_show(menuBar);
     213  gtk_widget_show(file);
     214#endif
     215
    206216  vbox = gtk_vbox_new (FALSE, 0);
     217
    207218  gtk_container_add (GTK_CONTAINER (window), vbox);
    208219
    209220  /* Create and pack the toolbar */
    210221  tool_bar = gtk_toolbar_new ();
     222 
     223  //  gtk_box_pack_start (GTK_BOX (vbox), menuBar, FALSE, FALSE, 0); /* Don't expand the toolbar vertically if sized */
    211224  gtk_box_pack_start (GTK_BOX (vbox), tool_bar, FALSE, FALSE, 0); /* Don't expand the toolbar vertically if sized */
    212225 
     
    231244  /* Create an icon view without model */
    232245  icon_view = gtk_icon_view_new ();
    233   _pgContainerHandle=icon_view;
    234 
     246  NOMFolderWindow_setContainerHandle(nomSelf, icon_view, NULLHANDLE);
     247                                     
    235248  /* Allow multiple selection in icon view */
    236249  gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (icon_view),
     
    239252  g_signal_connect (icon_view, "item-activated",
    240253                    G_CALLBACK (itemActivated), nomSelf);
     254  //#endif
     255
    241256  /* This is for kb binding only */
    242257#if 0
     
    244259                    G_CALLBACK (fldr_cbPopupMenu), nomSelf);
    245260#endif
     261
    246262  /* Handle mouse buttons */
    247263  g_signal_connect (GTK_WIDGET(icon_view), "button-press-event",
     
    259275
    260276  gtk_widget_grab_focus (icon_view);
     277
     278  g_signal_connect (GTK_WIDGET(window), "size-request",
     279                    G_CALLBACK (handleEvent), nomSelf);
     280
    261281  NOMFolderWindow_setWindowHandle(nomSelf, window, NULLHANDLE);
    262282  /* Window is hidden here and must be shown by the caller */
  • trunk/gui/class_c/nomwindow.c

    r146 r163  
    4949#include "nomwindow.ih"
    5050
    51 NOM_Scope PGtkWidget NOMLINK impl_NOMWindow_getWindowHandle(NOMWindow* nomSelf, CORBA_Environment *ev)
     51NOM_Scope PGtkWidget NOMLINK impl_NOMWindow_queryWindowHandle(NOMWindow* nomSelf, CORBA_Environment *ev)
    5252{
    5353  NOMWindowData* nomThis=NOMWindowGetData(nomSelf);
     
    6767  /* NOMWindowData* nomThis=NOMWindowGetData(nomSelf); */
    6868
    69   gtk_widget_show_all(NOMWindow_getWindowHandle(nomSelf, NULLHANDLE));
     69  gtk_widget_show_all(NOMWindow_queryWindowHandle(nomSelf, NULLHANDLE));
    7070}
    7171
     
    7373{
    7474  /* NOMWindowData* nomThis=NOMWindowGetData(nomSelf); */
    75   gtk_widget_hide(NOMWindow_getWindowHandle(nomSelf, NULLHANDLE));
     75  gtk_widget_hide(NOMWindow_queryWindowHandle(nomSelf, NULLHANDLE));
    7676}
    7777
  • trunk/gui/exports.def

    r127 r163  
    1212        _NOMFolderWindowCClassData
    1313        NOMFolderWindowNewClass   
     14
     15        _NOMMenuClassData 
     16        _NOMMenuCClassData
     17        NOMMenuNewClass   
     18
     19        _NOMMenuItemClassData 
     20        _NOMMenuItemCClassData
     21        NOMMenuItemNewClass   
  • trunk/gui/idl/nomfolderwindow.idl

    r146 r163  
    4343  NOMCLASSVERSION(1, 0);
    4444
    45   PGtkWidget getContainerHandle();
     45  PGtkWidget queryContainerHandle();
    4646  void setContainerHandle(in PGtkWidget pgWidget);   
    4747  void setWPFolderObject(in PWPFolder pWPFolderObject);
    48   PWPFolder getWPFolderObject();
     48  PWPFolder queryWPFolderObject();
    4949
    5050  NOMOVERRIDE(nomInit);
  • trunk/gui/idl/nomwindow.idl

    r127 r163  
    3838#include "nomobj.idl"
    3939
     40#ifndef PGtkWidget_defined
     41#define PGtkWidget_defined
     42/* This should be moved in a header file */
    4043native PGtkWidget;
     44#endif
    4145interface NOMWindow : NOMObject
    4246{
    4347  NOMCLASSVERSION(1, 0);
    4448
    45   PGtkWidget getWindowHandle();   
     49  PGtkWidget queryWindowHandle();   
    4650  void setWindowHandle(in PGtkWidget pgWidget);   
    4751  void show();
Note: See TracChangeset for help on using the changeset viewer.