source: trunk/desktop/src/vdesktop.c@ 141

Last change on this file since 141 was 141, checked in by cinc, 19 years ago

Implemented wpSetTitle()/wpQueryTitle() and fixed some glitches.

File size: 4.3 KB
Line 
1/* ***** BEGIN LICENSE BLOCK *****
2* Version: CDDL 1.0/LGPL 2.1
3*
4* The contents of this file are subject to the COMMON DEVELOPMENT AND
5* DISTRIBUTION LICENSE (CDDL) Version 1.0 (the "License"); you may not use
6* this file except in compliance with the License. You may obtain a copy of
7* the License at http://www.sun.com/cddl/
8*
9* Software distributed under the License is distributed on an "AS IS" basis,
10* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11* for the specific language governing rights and limitations under the
12* License.
13*
14* The Original Code is "NOM" Netlabs Object Model
15*
16* The Initial Developer of the Original Code is
17* netlabs.org: Chris Wohlgemuth <cinc-ml@netlabs.org>.
18* Portions created by the Initial Developer are Copyright (C) 2005-2006
19* the Initial Developer. All Rights Reserved.
20*
21* Contributor(s):
22*
23* Alternatively, the contents of this file may be used under the terms of
24* the GNU Lesser General Public License Version 2.1 (the "LGPL"), in which
25* case the provisions of the LGPL are applicable instead of those above. If
26* you wish to allow use of your version of this file only under the terms of
27* the LGPL, and not to allow others to use your version of this file under
28* the terms of the CDDL, indicate your decision by deleting the provisions
29* above and replace them with the notice and other provisions required by the
30* LGPL. If you do not delete the provisions above, a recipient may use your
31* version of this file under the terms of any one of the CDDL or the LGPL.
32*
33* ***** END LICENSE BLOCK ***** */
34
35#define INCL_DOS
36#define INCL_PM
37#include <os2.h>
38#include <stdio.h>
39#include <stdlib.h>
40#include <gtk/gtk.h>
41#include "debug_window.h"
42#include <gc.h>
43
44#include "nom.h"
45#include "nomtk.h"
46#include "wpobject.h"
47#include "wpfolder.h"
48#include "desktoptypes.h"
49
50int createQuitWindow(void);
51
52PNOM_ENV pEnv;
53NOMClassMgr *NOMClassMgrObject;
54
55
56/* Desktop folder */
57WPFolder *wpDesktop;
58/*
59 Main entry point. This function is called from the EMX wrapper. Be aware that gtk_init()
60 is already called in the wrapper.
61 */
62int _System main_loop()
63{
64 char desktopDir[CCHMAXPATH]={0};
65
66 g_message("We started...\n");
67
68
69#if 0
70 /* Initialize thread subsystem */
71 if(!g_thread_supported())
72 g_thread_init(NULL);
73#endif
74
75 /* Create a window with a 'quit' button to terminate us */
76 createQuitWindow();
77
78
79 /* Query current dir */
80 g_strlcpy(desktopDir, g_get_current_dir(), sizeof(desktopDir));
81 dbgPrintf("Desktop: %s", desktopDir);
82
83 /*
84 Bootstrap our objects...
85 */
86 pEnv=nomTkInit();
87 //dbgPrintf( "nomTKinit returned: %x", pEnv);
88
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);
97
98
99
100 WPObject* wpObject;
101 wpObject=WPObjectNew();
102 //dbgPrintf( "wpObject: %x", wpObject);
103
104 /* Create desktop folder */
105 wpDesktop=WPFolderNew();
106 dbgPrintf( "Created desktop object: %x", wpDesktop);
107 WPFolder_tstSetFullPath(wpDesktop, desktopDir, NULLHANDLE);
108
109 WPFolder_wpOpen(wpDesktop, NULL, OPEN_DEFAULT, NULL, NULL);
110 /* WPFolder_wpPopulate(wpObject, 0,"blabla 2", 0, NULL); */
111
112
113#if 0
114 /* Base classes */
115 wpObject=WPDataFileNew();
116
117 somPrintf("\nNew wpObject: %x\n", wpObject);
118 somPrintf(" -> Classname is: %s\n", _somGetClassName(wpObject));
119
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");
135 return 0;
136}
137
138
139/*
140 Just a test function for making noise...
141 */
142void _System theBeep(void)
143{
144 DosBeep(2500,400);
145 DosBeep(500,200);
146 DosBeep(1500,200);
147 DosBeep(2500,400);
148 DosBeep(1500,200);
149 DosBeep(500,200);
150 DosBeep(2500,400);
151}
Note: See TracBrowser for help on using the repository browser.