Changeset 191 for trunk/desktop/class_c/wpfolder.c
- Timestamp:
- Jan 14, 2007, 1:54:49 PM (19 years ago)
- File:
-
- 1 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);
Note:
See TracChangeset
for help on using the changeset viewer.