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

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

Implemented wpInitData() for desktop classes

File size: 4.1 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 <gtk/gtk.h>
40#include "debug_window.h"
41
42#include "nom.h"
43#include "nomtk.h"
44#include "wpobject.h"
45#include "wpfolder.h"
46
47int createQuitWindow(void);
48
49PNOM_ENV pEnv;
50NOMClassMgr *NOMClassMgrObject;
51
52
53/* Desktop folder */
54WPFolder *wpDesktop;
55
56
57/*
58 Main entry point. This function is called from the EMX wrapper. Be aware that gtk_init()
59 is already called in the wrapper.
60 */
61int _System main_loop()
62{
63 char desktopDir[CCHMAXPATH]={0};
64
65 g_message("We started...\n");
66
67
68 /* Create a window with a 'quit' button to terminate us */
69 createQuitWindow();
70
71
72 /* Query current dir */
73 g_strlcpy(desktopDir, g_get_current_dir(), sizeof(desktopDir));
74 dbgPrintf("Desktop: %s", desktopDir);
75
76 /*
77 Bootstrap our objects...
78 */
79 pEnv=nomTkInit();
80 //dbgPrintf( "nomTKinit returned: %x", pEnv);
81
82 if(!pEnv) {
83 nomPrintf("Can't initialize NOM environment. Exit...\n");
84 return(1);
85 }
86
87 /* Init SOM */
88 NOMClassMgrObject=nomEnvironmentNew();
89 //dbgPrintf( "NOMClassMgrObject: %x", NOMClassMgrObject);
90
91
92
93 WPObject* wpObject;
94 wpObject=WPObjectNew();
95 //dbgPrintf( "wpObject: %x", wpObject);
96
97 /* Create desktop folder */
98 wpDesktop=WPFolderNew();
99 dbgPrintf( "Created desktop object: %x", wpDesktop);
100
101 WPFolder_wpPopulate(wpDesktop, 0, desktopDir, 0, NULL);
102 /* WPFolder_wpPopulate(wpObject, 0,"blabla 2", 0, NULL); */
103
104
105#if 0
106 /* Base classes */
107 wpObject=WPDataFileNew();
108
109 somPrintf("\nNew wpObject: %x\n", wpObject);
110 somPrintf(" -> Classname is: %s\n", _somGetClassName(wpObject));
111
112
113 /* Test only!!! */
114 _tstSetFullPath(wpDesktop, desktopDir);
115
116 _wpSetFolder(wpDesktop, NULLHANDLE); /* FIXME: Instance var is zero anyway but this way I don't forget it ;-) */
117 _wpOpen(wpDesktop, NULLHANDLE, OPEN_DEFAULT, 0); /* remove parameter later!!! */
118 /* _dbgPrintRegisteredClasses(SOMClassMgrObject);*/
119
120#endif
121 /* All GTK applications must have a gtk_main(). Control ends here
122 * and waits for an event to occur (like a key press or
123 * mouse event). */
124 gtk_main ();
125
126 printf("And now we quit...\n");
127 return 0;
128}
129
130
131/*
132 Just a test function for making noise...
133 */
134void _System theBeep(void)
135{
136 DosBeep(2500,400);
137 DosBeep(500,200);
138 DosBeep(1500,200);
139 DosBeep(2500,400);
140 DosBeep(1500,200);
141 DosBeep(500,200);
142 DosBeep(2500,400);
143}
Note: See TracBrowser for help on using the repository browser.