Changeset 191 for trunk/desktop/class_c
- Timestamp:
- Jan 14, 2007, 1:54:49 PM (19 years ago)
- Location:
- trunk/desktop/class_c
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/desktop/class_c/wpfolder.c
r189 r191 105 105 } 106 106 107 /*************** Local vars ************************************/ 108 109 static nomId WPFolderNomId; 110 111 /***************************************************************/ 112 107 113 #if 0 108 114 static BOOL … … 459 465 460 466 NOM_Scope gpointer NOMLINK impl_WPFolder_wpOpen(WPFolder* nomSelf, const PWPFolderWindow nomFolder, 461 const gulong ulView, const gpointer pParam,462 CORBA_Environment *ev)467 const gulong ulView, const nomId nameSpaceId, 468 const gpointer pParam, CORBA_Environment *ev) 463 469 { 464 470 WPFolderData* nomThis=WPFolderGetData(nomSelf); 465 g_message("%d %s", __LINE__, __FUNCTION__); 466 switch(ulView) 471 nomId nSpaceId=nameSpaceId; 472 gulong ulV=ulView; 473 474 // g_message("In %s: %d %d %d", __FUNCTION__, WPFolderNomId, nameSpaceId, ulView); 475 476 /* Special parameter representing a double click or "I just don't know" ;-) */ 477 if(OPEN_DEFAULT==ulView) 478 ulV=WPObject_wpQueryDefaultView(nomSelf, &nSpaceId, NULLHANDLE); 479 480 /* We only handle items with in own name space */ 481 if(WPFolderNomId==nSpaceId) 467 482 { 468 case OPEN_CONTENTS: 469 case OPEN_DEFAULT: 470 { 471 PUSEITEM pui; 472 ULONG ulError; 473 WPFolderWindow * wpFldrWindow; 474 gchar* pszPath; 475 PPRIVFOLDERDATA priv; 476 GtkListStore* gStore; 477 478 pszPath=NOMPath_queryCString(WPFolder_wpQueryFileName(nomSelf, TRUE, NULLHANDLE), NULLHANDLE); 479 g_message("%d %s, %s", __LINE__, __FUNCTION__, pszPath); 480 WPFolder_wpPopulate(nomSelf, 0L, pszPath, FALSE, NULLHANDLE); 481 482 483 wpFldrWindow=WPFolder_wpCreateFolderWindow(nomSelf, NULLHANDLE); 484 WPFolderWindow_wpSetWPObject(wpFldrWindow, (WPObject*)nomSelf, NULLHANDLE); 485 486 /* Insert it into inuse list */ 487 pui=(PUSEITEM)WPFolder_wpAllocMem(nomSelf, sizeof(USEITEM)+sizeof(VIEWITEM), &ulError, ev); 488 /* Fill the structures */ 489 pui->type=(gulong)USAGE_OPENVIEW; 490 pui->wpObject=(PWPObject)nomSelf; 491 pui++; 492 ((VIEWITEM*)pui)->ulView=VIEW_CONTENTS; 493 ((VIEWITEM*)pui)->nomWindow=(NOMWindow*)wpFldrWindow; 494 pui--; 483 switch(ulV) 484 { 485 case OPEN_CONTENTS: 486 { 487 PUSEITEM pui; 488 ULONG ulError; 489 WPFolderWindow * wpFldrWindow; 490 gchar* pszPath; 491 PPRIVFOLDERDATA priv; 492 GtkListStore* gStore; 493 494 pszPath=NOMPath_queryCString(WPFolder_wpQueryFileName(nomSelf, TRUE, NULLHANDLE), NULLHANDLE); 495 g_message("%d %s, %s", __LINE__, __FUNCTION__, pszPath); 496 WPFolder_wpPopulate(nomSelf, 0L, pszPath, FALSE, NULLHANDLE); 497 498 499 wpFldrWindow=WPFolder_wpCreateFolderWindow(nomSelf, NULLHANDLE); 500 WPFolderWindow_wpSetWPObject(wpFldrWindow, (WPObject*)nomSelf, NULLHANDLE); 501 502 /* Insert it into inuse list */ 503 pui=(PUSEITEM)WPFolder_wpAllocMem(nomSelf, sizeof(USEITEM)+sizeof(VIEWITEM), &ulError, ev); 504 /* Fill the structures */ 505 pui->type=(gulong)USAGE_OPENVIEW; 506 pui->wpObject=(PWPObject)nomSelf; 507 pui++; 508 ((VIEWITEM*)pui)->ulView=OPEN_CONTENTS; 509 ((VIEWITEM*)pui)->nomWindow=(NOMWindow*)wpFldrWindow; 510 ((VIEWITEM*)pui)->nameSpaceId=WPFolderNomId; 511 pui--; 495 512 #warning !!!!! Folder window must be inserted into inuse list !!!!! 496 /* Make sure the view item is removed when the window is closed */ 497 g_signal_connect(G_OBJECT(NOMWindow_queryWindowHandle((NOMWindow*)wpFldrWindow, NULLHANDLE)),"delete-event", 498 G_CALLBACK(tempWPWindowDeleteHandler), (gpointer) pui); 499 WPFolder_wpAddToObjUseList(nomSelf, pui, NULLHANDLE); 500 501 /* Now create a folder store and insert icons into the window */ 502 priv=_privFolderData; 503 gStore=priv->gstoreFldContents; 504 505 if(!gStore) 506 { 507 /* Create a store holding the folder contents */ 508 gStore=fldr_CreateStore(); 509 g_return_val_if_fail(gStore!=NULLHANDLE, FALSE); 510 priv->gstoreFldContents=gStore; 511 } 512 513 /* Fill our store */ 514 if(gStore) 515 fldr_fillStore(nomSelf, gStore, pszPath); 516 else 517 return FALSE; 518 519 gtk_icon_view_set_model(GTK_ICON_VIEW (priv->gtkIconView), GTK_TREE_MODEL (priv->gstoreFldContents)); 520 521 /* We now set which model columns that correspond to the text 522 * and pixbuf of each item 523 */ 524 gtk_icon_view_set_text_column (GTK_ICON_VIEW (priv->gtkIconView), COL_DISPLAY_NAME); 525 gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (priv->gtkIconView), COL_PIXBUF); 526 gtk_icon_view_set_item_width (GTK_ICON_VIEW (priv->gtkIconView), 100); 527 528 g_object_unref (gStore); 529 530 return wpFldrWindow; 531 }/* default */ 532 default: 533 break; 534 }/* switch */ 535 536 return WPFolder_wpOpen_parent(nomSelf, nomFolder, ulView, pParam, ev); 513 /* Make sure the view item is removed when the window is closed */ 514 g_signal_connect(G_OBJECT(NOMWindow_queryWindowHandle((NOMWindow*)wpFldrWindow, NULLHANDLE)),"delete-event", 515 G_CALLBACK(tempWPWindowDeleteHandler), (gpointer) pui); 516 WPFolder_wpAddToObjUseList(nomSelf, pui, NULLHANDLE); 517 518 /* Now create a folder store and insert icons into the window */ 519 priv=_privFolderData; 520 gStore=priv->gstoreFldContents; 521 522 if(!gStore) 523 { 524 /* Create a store holding the folder contents */ 525 gStore=fldr_CreateStore(); 526 g_return_val_if_fail(gStore!=NULLHANDLE, FALSE); 527 priv->gstoreFldContents=gStore; 528 } 529 530 /* Fill our store */ 531 if(gStore) 532 fldr_fillStore(nomSelf, gStore, pszPath); 533 else 534 return FALSE; 535 536 gtk_icon_view_set_model(GTK_ICON_VIEW (priv->gtkIconView), GTK_TREE_MODEL (priv->gstoreFldContents)); 537 538 /* We now set which model columns that correspond to the text 539 * and pixbuf of each item 540 */ 541 gtk_icon_view_set_text_column (GTK_ICON_VIEW (priv->gtkIconView), COL_DISPLAY_NAME); 542 gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (priv->gtkIconView), COL_PIXBUF); 543 gtk_icon_view_set_item_width (GTK_ICON_VIEW (priv->gtkIconView), 100); 544 545 g_object_unref (gStore); 546 547 return wpFldrWindow; 548 }/* default */ 549 default: 550 break; 551 }/* switch */ 552 } 553 554 return WPFolder_wpOpen_parent(nomSelf, nomFolder, ulView, nameSpaceId, pParam, ev); 537 555 } 538 556 … … 559 577 } 560 578 579 NOM_Scope gulong NOMLINK impl_WPFolder_wpQueryDefaultView(WPFolder* nomSelf, const pnomId pNameSpaceId, 580 CORBA_Environment *ev) 581 { 582 *pNameSpaceId=WPFolderNomId; 583 return OPEN_CONTENTS; 584 } 585 586 561 587 static void 562 588 itemActivated (GtkIconView *widget, … … 582 608 -1); 583 609 g_message("%s: %s", __FUNCTION__, wpObject->mtab->nomClassName); 584 WPObject_wpOpen(wpObject, pWindow, OPEN_CONTENTS, NULL, NULL); 610 /* WPObject_wpOpen(wpObject, pWindow, OPEN_CONTENTS, NULL, NULL); */ 611 WPObject_wpViewObject(wpObject, pWindow, OPEN_DEFAULT, 0, NULLHANDLE, NULL); 585 612 } 586 613 } … … 607 634 G_CALLBACK (itemActivated), nomSelf); 608 635 609 gtk_window_set_title (GTK_WINDOW (WPFolderWindow_queryWindowHandle(wpFldrWindow, NULLHANDLE)),610 NOMString_queryCString(WPFolder_wpQueryTitle(nomSelf, NULLHANDLE), NULLHANDLE)); 636 WPFolderWindow_wpSetWindowTitle(wpFldrWindow, WPFolder_wpQueryTitle(nomSelf, NULLHANDLE), NULLHANDLE); 637 611 638 /* Show the new window */ 612 639 WPFolderWindow_show(wpFldrWindow, ev); … … 675 702 WPFolder_wpInitData_parent((WPObject*)nomSelf, ev); 676 703 704 /* Get our unique class ID. We need it for example when inserting menu items to 705 specify the namespace. We query it here because getting a GQuark from a string 706 is rather time consuming. The result is saved in a var for later use. */ 707 WPFolderNomId=nomIdFromString("WPFolder");//g_quark_from_string("WPFolder"); 708 677 709 nomPrintf(" Entering %s with nomSelf: 0x%x. nomSelf is: %s.\n", 678 710 __FUNCTION__, nomSelf , nomSelf->mtab->nomClassName); -
trunk/desktop/class_c/wpfolderwindow.c
r189 r191 115 115 wpFolder=(WPFolder*)WPFolderWindow_wpQueryWPObject(pWindow, NULLHANDLE); 116 116 g_message("%s: %s", __FUNCTION__, wpFolder->mtab->nomClassName); 117 WPObject_wpDisplayMenu((WPObject*)wpFolder, pWindow, NULL, 0, 0, NULL);117 WPObject_wpDisplayMenu((WPObject*)wpFolder, pWindow, NULL, MENU_OPENVIEWPOPUP, 0, NULL); 118 118 } 119 119 else … … 135 135 -1); 136 136 g_message("%s: %s", __FUNCTION__, wpObject->mtab->nomClassName); 137 WPObject_wpDisplayMenu((WPObject*)wpObject, pWindow, NULL, 0, 0, NULL);137 WPObject_wpDisplayMenu((WPObject*)wpObject, pWindow, NULL, MENU_OBJECTPOPUP, 0, NULL); 138 138 } 139 139 } -
trunk/desktop/class_c/wpobject.c
r189 r191 149 149 specify the namespace. We query it here because getting a GQuark from a string 150 150 is rather time consuming. The result is saved in a var for later use. */ 151 WPObjectNomId= g_quark_from_string("WPObject");151 WPObjectNomId=nomIdFromString("WPObject"); //g_quark_from_string("WPObject"); 152 152 153 153 /* Make sure a title exists (even if it's an empty string */ … … 186 186 187 187 NOM_Scope gpointer NOMLINK impl_WPObject_wpOpen(WPObject* nomSelf, const PWPFolderWindow nomFolder, 188 const gulong ulView, const gpointer pParam, CORBA_Environment *ev) 189 { 190 /* WPObjectData* nomThis=WPObjectGetData(nomSelf); */ 191 192 switch(ulView) 188 const gulong ulView, const nomId nameSpaceId, 189 const gpointer pParam, CORBA_Environment *ev) 190 { 191 /* WPObjectData* nomThis=WPObjectGetData(nomSelf); */ 192 nomId nSpaceId=nameSpaceId; 193 gulong ulV=ulView; 194 195 /* Special parameter representing a double click or "I just don't know" ;-) */ 196 if(OPEN_DEFAULT==ulView) 197 ulV=WPObject_wpQueryDefaultView(nomSelf, &nSpaceId, NULLHANDLE); 198 199 /* We only handle items with in own name space */ 200 if(WPObjectNomId==nSpaceId) 193 201 { 194 case OPEN_SETTINGS: 195 { 196 PUSEITEM pui; 197 gulong ulError; 198 199 WPNoteBook* wpNoteBook; 200 wpNoteBook=WPNoteBookNew(); 201 WPNoteBook_wpSetWPObject(wpNoteBook, nomSelf, NULLHANDLE); 202 203 _wpAddSettingsPages(nomSelf, wpNoteBook, ev); 204 205 /* Add a view item to inuse list */ 206 pui=(PUSEITEM)WPObject_wpAllocMem(nomSelf, sizeof(USEITEM)+sizeof(VIEWITEM), &ulError, ev); 207 /* Fill the structures */ 208 209 pui->type=(gulong)USAGE_OPENVIEW; 210 pui->wpObject=nomSelf; 211 pui++; 212 ((VIEWITEM*)pui)->ulView=VIEW_SETTINGS; 213 ((VIEWITEM*)pui)->nomWindow=(NOMWindow*)wpNoteBook; 214 pui--; 215 //g_message(" in %s wpNoteBook: %lx pui %lx", __FUNCTION__, wpNoteBook, pui); 216 /* Make sure the view item is removed when the window is closed */ 217 g_signal_connect(G_OBJECT(NOMWindow_queryWindowHandle((NOMWindow*)wpNoteBook, NULLHANDLE)),"delete-event", 218 G_CALLBACK(defaultWPWindowDeleteHandler), (gpointer) pui); 219 WPObject_wpAddToObjUseList(nomSelf, pui, ev); 220 WPNoteBook_show(wpNoteBook, ev); 221 return (gpointer) wpNoteBook; 222 } 223 default: 224 /* We are the very last in the chain of classes being called */ 225 g_return_val_if_reached(NULLHANDLE); 226 break; 202 switch(ulV) 203 { 204 case OPEN_SETTINGS: 205 { 206 PUSEITEM pui; 207 gulong ulError; 208 WPNoteBook* wpNoteBook; 209 210 if(CCVIEW_ON==WPObject_wpQueryConcurrentView(nomSelf, NULLHANDLE)){ 211 /* Concurrent view is ignored for the settings. */ 212 if((wpNoteBook=WPObject_wpSwitchTo(nomSelf, ulV, nSpaceId, NULLHANDLE))!=NULLHANDLE) 213 return wpNoteBook; 214 } 215 wpNoteBook=WPNoteBookNew(); 216 WPNoteBook_wpSetWPObject(wpNoteBook, nomSelf, NULLHANDLE); 217 218 _wpAddSettingsPages(nomSelf, wpNoteBook, ev); 219 220 /* Add a view item to inuse list */ 221 pui=(PUSEITEM)WPObject_wpAllocMem(nomSelf, sizeof(USEITEM)+sizeof(VIEWITEM), &ulError, ev); 222 /* Fill the structures */ 223 224 pui->type=(gulong)USAGE_OPENVIEW; 225 pui->wpObject=nomSelf; 226 pui++; 227 ((VIEWITEM*)pui)->ulView=OPEN_SETTINGS; 228 ((VIEWITEM*)pui)->nomWindow=(NOMWindow*)wpNoteBook; 229 ((VIEWITEM*)pui)->nameSpaceId=WPObjectNomId; 230 pui--; 231 //g_message(" in %s wpNoteBook: %lx pui %lx", __FUNCTION__, wpNoteBook, pui); 232 /* Make sure the view item is removed when the window is closed */ 233 g_signal_connect(G_OBJECT(NOMWindow_queryWindowHandle((NOMWindow*)wpNoteBook, NULLHANDLE)),"delete-event", 234 G_CALLBACK(defaultWPWindowDeleteHandler), (gpointer) pui); 235 WPObject_wpAddToObjUseList(nomSelf, pui, ev); 236 WPNoteBook_show(wpNoteBook, ev); 237 return (gpointer) wpNoteBook; 238 } 239 default: 240 /* We are the very last in the chain of classes being called */ 241 g_return_val_if_reached(NULLHANDLE); 242 break; 243 } 227 244 } 228 245 return NULLHANDLE; … … 230 247 231 248 NOM_Scope gpointer NOMLINK impl_WPObject_wpViewObject(WPObject* nomSelf, const PWPFolderWindow nomFolder, 232 const gulong ulView, const gpointer pParam,233 CORBA_Environment *ev)249 const gulong ulView, const nomId nameSpaceId, 250 const gpointer pParam, CORBA_Environment *ev) 234 251 { 235 252 /* WPObjectData* nomThis=WPObjectGetData(nomSelf); */ 236 253 gpointer nomRetval=NULLHANDLE; 237 238 239 if((nomRetval=WPObject_wpSwitchTo(nomSelf, ulView, ev))!=NULLHANDLE) 254 nomId nSpaceId=nameSpaceId; 255 gulong ulV=ulView; 256 257 /* Special parameter representing a double click or "I just don't know" ;-) */ 258 if(OPEN_DEFAULT==ulView) 259 ulV=WPObject_wpQueryDefaultView(nomSelf, &nSpaceId, NULLHANDLE); 260 261 if(CCVIEW_ON==WPObject_wpQueryConcurrentView(nomSelf, NULLHANDLE)) 262 return WPObject_wpOpen(nomSelf, nomFolder, ulV, nSpaceId, pParam, NULLHANDLE); 263 264 if((nomRetval=WPObject_wpSwitchTo(nomSelf, ulV, nSpaceId, NULLHANDLE))!=NULLHANDLE) 240 265 return nomRetval; 241 266 242 return WPObject_wpOpen(nomSelf, nomFolder, ulView, pParam, ev); 243 } 244 245 NOM_Scope gpointer NOMLINK impl_WPObject_wpSwitchTo(WPObject* nomSelf, const gulong ulView, CORBA_Environment *ev) 246 { 247 /* WPObjectData* nomThis=WPObjectGetData(nomSelf); */ 267 return WPObject_wpOpen(nomSelf, nomFolder, ulV, nSpaceId, pParam, NULLHANDLE); 268 } 269 270 NOM_Scope gpointer NOMLINK impl_WPObject_wpSwitchTo(WPObject* nomSelf, const gulong ulView, const nomId nameSpaceId, 271 CORBA_Environment *ev) 272 { 273 /* WPObjectData* nomThis=WPObjectGetData(nomSelf); */ 248 274 PVIEWITEM pViewItem; 249 275 250 switch(ulView) 251 { 252 case OPEN_SETTINGS: 253 { 254 pViewItem=WPObject_wpFindViewItem(nomSelf, VIEW_SETTINGS, NULLHANDLE, ev); 255 if(pViewItem){ 256 //g_message(" in %s : OPEN_SETTINGS returning %x %x ...", __FUNCTION__, pViewItem, pViewItem->nomWindow); 257 /* Bring the window to the foreground */ 258 NOMWindow_present(pViewItem->nomWindow, ev); 259 return (gpointer)pViewItem->nomWindow; 260 } 261 break; 262 } 263 case OPEN_CONTENTS: 264 { 265 #warning !!!!! This belongs into WPFolder !!!!! 266 pViewItem=WPObject_wpFindViewItem(nomSelf, VIEW_CONTENTS, NULLHANDLE, ev); 267 if(pViewItem){ 268 //g_message(" in %s : OPEN_SETTINGS returning %x %x ...", __FUNCTION__, pViewItem, pViewItem->nomWindow); 269 /* Bring the window to the foreground */ 270 NOMWindow_present(pViewItem->nomWindow, ev); 271 return (gpointer)pViewItem->nomWindow; 272 } 273 break; 274 } 275 default: 276 break; 277 } 276 pViewItem=WPObject_wpFindViewItem(nomSelf, ulView, nameSpaceId, NULLHANDLE, NULLHANDLE); 277 278 if(pViewItem){ 279 /* Bring the window to the foreground */ 280 NOMWindow_present(pViewItem->nomWindow, ev); 281 return (gpointer)pViewItem->nomWindow; 282 }/* if() */ 278 283 279 284 return NULLHANDLE; … … 363 368 364 369 365 NOM_Scope PVIEWITEM NOMLINK impl_WPObject_wpFindViewItem(WPObject* nomSelf, const gulong flViews, 370 NOM_Scope PVIEWITEM NOMLINK impl_WPObject_wpFindViewItem(WPObject* nomSelf, const gulong ulView, 371 const nomId nameSpaceId, 366 372 const PVIEWITEM pCurrentItem, CORBA_Environment *ev) 367 373 { … … 370 376 PVIEWITEM pViewItem=NULLHANDLE; 371 377 372 if(!flViews) 378 379 if(!ulView) 373 380 return NULLHANDLE; 374 381 … … 380 387 pUseItem=WPObject_wpFindUseItem(nomSelf, USAGE_OPENVIEW, pUseItem, ev); 381 388 } 389 382 390 while(pUseItem) 383 391 { … … 386 394 pUseItem--; 387 395 //g_message(" a in %s %d", __FUNCTION__, flViews); 388 if( pViewItem->ulView & flViews)396 if((pViewItem->ulView == ulView) && (pViewItem->nameSpaceId==nameSpaceId)) 389 397 break; 390 398 … … 396 404 } 397 405 406 NOM_Scope gulong NOMLINK impl_WPObject_wpQueryDefaultView(WPObject* nomSelf, const pnomId pNameSpaceId, 407 CORBA_Environment *ev) 408 { 409 /* WPObjectData* nomThis=WPObjectGetData(nomSelf); */ 410 411 *pNameSpaceId=WPObjectNomId; 412 413 return OPEN_SETTINGS; 414 } 415 416 NOM_Scope CORBA_boolean NOMLINK impl_WPObject_wpSetDefaultView(WPObject* nomSelf, const gulong ulView, 417 const nomId nameSpaceId, CORBA_Environment *ev) 418 { 419 /* WPObjectData* nomThis=WPObjectGetData(nomSelf); */ 420 CORBA_boolean nomRetval=FALSE; 421 422 g_message("%d %s not implemented", __LINE__, __FUNCTION__); 423 return nomRetval; 424 } 425 426 NOM_Scope void NOMLINK impl_WPObject_wpSetConcurrentView(WPObject* nomSelf, const gulong ulCCView, 427 CORBA_Environment *ev) 428 { 429 /* WPObjectData* nomThis=WPObjectGetData(nomSelf); */ 430 431 g_message("%d %s not implemented", __LINE__, __FUNCTION__); 432 433 } 434 435 NOM_Scope gulong NOMLINK impl_WPObject_wpQueryConcurrentView(WPObject* nomSelf, CORBA_Environment *ev) 436 { 437 /* WPObjectData* nomThis=WPObjectGetData(nomSelf); */ 438 439 return CCVIEW_ON; 440 } 398 441 399 442 NOM_Scope void NOMLINK impl_WPObject_wpLockObject(WPObject* nomSelf, CORBA_Environment *ev) … … 623 666 /* WPObjectData* nomThis=WPObjectGetData(nomSelf); */ 624 667 625 /* We only handle items with 668 /* We only handle items within own name space */ 626 669 if(WPObjectNomId==NOMMenuItem_queryNameSpaceId(nomMenuItem, ev)) 627 670 { … … 631 674 { 632 675 WPObject_wpViewObject(nomSelf, nomFolder, 633 OPEN_SETTINGS, NULLHANDLE, ev);676 OPEN_SETTINGS, WPObjectNomId, NULLHANDLE, NULLHANDLE); 634 677 return TRUE; /* We always return TRUE to show, we handled the menu item. It doesn't 635 678 matter if we actually succeeded with creating the settings notebook. */ … … 714 757 } 715 758 759 760 761 -
trunk/desktop/class_c/wpwindow.c
r189 r191 61 61 } 62 62 63 NOM_Scope void NOMLINK impl_WPWindow_wpSetWindowTitle(WPWindow* nomSelf, const PNOMString newTitle, 64 CORBA_Environment *ev) 65 { 66 67 gtk_window_set_title (GTK_WINDOW (WPWindow_queryWindowHandle(nomSelf, NULLHANDLE)), 68 NOMString_queryCString(newTitle, NULLHANDLE)); 69 70 } 71
Note:
See TracChangeset
for help on using the changeset viewer.