Changeset 166 for trunk/desktop/src


Ignore:
Timestamp:
Jan 3, 2007, 10:27:53 AM (19 years ago)
Author:
cinc
Message:

Added code for object menus.

Location:
trunk/desktop/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/desktop/src/debug_window.c

    r98 r166  
    121121  va_list arg_ptr;
    122122
     123  return;
     124
    123125  if(store==NULL)
    124126    {
  • trunk/desktop/src/quitwindow.c

    r98 r166  
    6969}
    7070
     71static  GtkWidget *window;
    7172/*
    7273  Main entry point. This function is called from the EMX wrapper. Be aware that gtk_init()
     
    7677{
    7778 /* GtkWidget is the storage type for widgets */
    78     GtkWidget *window;
     79
    7980    GtkWidget *button;
    8081   
  • trunk/desktop/src/vdesktop.c

    r141 r166  
    3333* ***** END LICENSE BLOCK ***** */
    3434
     35#define INCL_DOSPROCESS
    3536#define INCL_DOS
     37#define INCL_DOSPROFILE
     38#define INCL_DOSERRORS
    3639#define INCL_PM
    3740#include <os2.h>
    3841#include <stdio.h>
    3942#include <stdlib.h>
     43#include <string.h>
    4044#include <gtk/gtk.h>
    4145#include "debug_window.h"
     
    4448#include "nom.h"
    4549#include "nomtk.h"
     50#include "nomgc.h"
     51#include "nomguitk.h"
     52#include "nomfolderwindow.h"
    4653#include "wpobject.h"
    4754#include "wpfolder.h"
     
    5057int createQuitWindow(void);
    5158
    52 PNOM_ENV pEnv;
    53 NOMClassMgr *NOMClassMgrObject;
     59static gboolean
     60handleEvent (GtkWidget *widget, GdkEventButton *event, gpointer user_data)
     61{
    5462
     63  DosBeep(5000, 100);
     64  //g_malloc(1250000);
     65  //g_message("%s: allocated...", __FUNCTION__);
     66  //WPObject_wpDisplayMenu(wpFolder, pWindow, NULL, 0, 0, NULL);
     67 
     68  return FALSE;
     69}
    5570
    56 /* Desktop folder */
    57 WPFolder *wpDesktop;
    5871/*
    5972  Main entry point. This function is called from the EMX wrapper. Be aware that gtk_init()
     
    6275int _System  main_loop()
    6376{
    64  char desktopDir[CCHMAXPATH]={0};
     77  char desktopDir[CCHMAXPATH]={0};
     78  PNOM_ENV pEnv;
     79  NOMClassMgr *NOMClassMgrObject;
     80  GtkWidget* window;
     81  int a;
     82  ULONG pMem;
     83  HREGDLL hReg=NULLHANDLE;
     84 
     85  /* Desktop folder */
     86  WPFolder *wpDesktop;
     87 
     88  hReg=nomBeginRegisterDLLWithGC();
     89  if(NULLHANDLE==hReg)
     90    return 1;
     91 
     92  /* Register DLLs with the garbage collector */
     93  g_assert(nomRegisterDLLByName(hReg, "GLIB2.DLL" ));
     94  g_assert(nomRegisterDLLByName(hReg, "GOBJECT2.DLL"));
     95  g_assert(nomRegisterDLLByName(hReg, "GMODULE2.DLL"));
     96  g_assert(nomRegisterDLLByName(hReg, "GDK2.DLL"));
     97  g_assert(nomRegisterDLLByName(hReg, "GDKPIX2.DLL"));
     98  g_assert(nomRegisterDLLByName(hReg, "GTK2.DLL" ));
     99  g_assert(nomRegisterDLLByName(hReg, "ATK.DLL" ));
     100  g_assert(nomRegisterDLLByName(hReg, "NOBJTK.DLL"));
     101  g_assert(nomRegisterDLLByName(hReg, "VDESKTOP.DLL"));
     102  /* Add Pango here? */
    65103
    66  g_message("We started...\n");
     104  nomEndRegisterDLLWithGC(hReg);
    67105
     106  g_message("We started...\n");
    68107
    69108#if 0
    70  /* Initialize thread subsystem */
    71  if(!g_thread_supported())
    72    g_thread_init(NULL);
     109  /* Initialize thread subsystem */
     110  if(!g_thread_supported())
     111    g_thread_init(NULL);
    73112#endif
    74 
     113 
    75114  /* Create a window with a 'quit' button to terminate us */
    76  createQuitWindow();
    77 
    78 
     115  createQuitWindow();
     116   
    79117  /* Query current dir */
    80118  g_strlcpy(desktopDir, g_get_current_dir(), sizeof(desktopDir));
    81119  dbgPrintf("Desktop: %s", desktopDir);
    82120
    83     /*
    84       Bootstrap our objects...
    85      */
    86     pEnv=nomTkInit();
    87     //dbgPrintf( "nomTKinit returned: %x", pEnv);
     121  /*
     122    Bootstrap our objects...
     123  */
     124  pEnv=nomTkInit();
    88125
    89     if(!pEnv) {
    90       nomPrintf("Can't initialize NOM environment. Exit...\n");
    91       return(1);
    92     }
    93 
    94     /* Init SOM */
    95     NOMClassMgrObject=nomEnvironmentNew();
    96     //dbgPrintf( "NOMClassMgrObject: %x", NOMClassMgrObject);
     126  if(!pEnv) {
     127    nomPrintf("Can't initialize NOM environment. Exit...\n");
     128    return(1);
     129  }
    97130
    98131
     132  /* Init SOM */
     133  NOMClassMgrObject=nomEnvironmentNew();
     134  //dbgPrintf( "NOMClassMgrObject: %x", NOMClassMgrObject);
     135 
     136  /* Create desktop folder */
     137  wpDesktop=WPFolderNew();
    99138
    100     WPObject* wpObject;
    101     wpObject=WPObjectNew();
    102     //dbgPrintf( "wpObject: %x", wpObject);
     139  dbgPrintf( "Created desktop object: %x", wpDesktop);
     140  WPFolder_tstSetFullPath(wpDesktop, desktopDir, NULLHANDLE);
     141 
     142  WPFolder_wpOpen(wpDesktop, NULL, OPEN_DEFAULT,  NULL, NULL);
     143  /*    WPFolder_wpPopulate(wpObject, 0,"blabla 2", 0,  NULL);  */
     144   
     145#if 0
     146  /* Folder toplevel window. */
     147  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    103148
    104     /* Create desktop folder */
    105     wpDesktop=WPFolderNew();
    106     dbgPrintf( "Created desktop object: %x", wpDesktop);
    107     WPFolder_tstSetFullPath(wpDesktop, desktopDir, NULLHANDLE);
     149  /* FIXME: Set default size of folder frame. Will later use a stored value */
     150  gtk_window_set_default_size (GTK_WINDOW (window), 650, 400);
    108151
    109     WPFolder_wpOpen(wpDesktop, NULL, OPEN_DEFAULT,  NULL, NULL);
    110     /*    WPFolder_wpPopulate(wpObject, 0,"blabla 2", 0,  NULL);  */
     152  g_signal_connect (GTK_WIDGET(window), "size-request",
     153                    G_CALLBACK (handleEvent), NULL/*nomSelf*/);
     154
     155  gtk_widget_show(window);
     156  g_message("Window handle: %x", window);
     157#endif
     158
     159  /* All GTK applications must have a gtk_main(). Control ends here
     160   * and waits for an event to occur (like a key press or
     161   * mouse event). */
     162  gtk_main ();
    111163
    112164   
    113165#if 0
    114     /* Base classes */
    115     wpObject=WPDataFileNew();
     166    mem=g_malloc(1250000);
     167    memset(mem, 0xaa, 10000);
     168    //  *pGlobalMemInExe=mem;
     169    for(a=0;a<50;a++){
     170      g_malloc(1250000);
     171      printf("%x %x %x %x %d\n", *mem, *(mem+1), *(mem+2), *(mem+3), 0);
     172      //printf("%x\n", *((ULONG*)pGlobalMemInExe));
     173    }
     174#endif
    116175
    117     somPrintf("\nNew wpObject: %x\n", wpObject);
    118     somPrintf("  -> Classname is: %s\n", _somGetClassName(wpObject));
     176    printf("And now we quit...\n");
    119177
    120 
    121     /* Test only!!! */
    122     _tstSetFullPath(wpDesktop, desktopDir);
    123 
    124     _wpSetFolder(wpDesktop, NULLHANDLE); /* FIXME: Instance var is zero anyway but this way I don't forget it ;-) */
    125     _wpOpen(wpDesktop, NULLHANDLE, OPEN_DEFAULT, 0); /* remove parameter later!!! */
    126     /*  _dbgPrintRegisteredClasses(SOMClassMgrObject);*/
    127 
    128 #endif
    129     /* All GTK applications must have a gtk_main(). Control ends here
    130      * and waits for an event to occur (like a key press or
    131      * mouse event). */
    132     gtk_main ();
    133 
    134     printf("And now we quit...\n");   
    135178  return 0;
    136179}
Note: See TracChangeset for help on using the changeset viewer.