Changeset 241 for trunk/desktop/class_c/wpfolder.c
- Timestamp:
- Mar 6, 2007, 8:47:20 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/desktop/class_c/wpfolder.c
r240 r241 33 33 * ***** END LICENSE BLOCK ***** */ 34 34 /* 35 * This file was generated by orbit-idl-2 for Voyager36 *37 *38 35 * And remember, phase 3 is near... 39 36 */ … … 77 74 #include "helper.h" 78 75 #include "exception.h" 76 77 #include "nomdraginfo.h" 79 78 80 79 typedef struct _FLDRGTREEVALUE … … 111 110 /*************** Local vars ************************************/ 112 111 112 /* This ID is used as a namespace */ 113 113 static nomId WPFolderNomId; 114 114 … … 520 520 WPFolderWindow_wpSetWindowTitle(wpFldrWindow, WPFolder_wpQueryTitle(nomSelf, NULLHANDLE), NULLHANDLE); 521 521 522 523 522 /* Show the new window */ 524 523 WPFolderWindow_show(wpFldrWindow, ev); … … 527 526 } 528 527 528 529 529 NOM_Scope gulong NOMLINK impl_WPFolder_wpQueryFldrFlags(WPFolder* nomSelf, CORBA_Environment *ev) 530 530 { … … 533 533 return g_atomic_int_get(&_ulFldrFlags); 534 534 } 535 535 536 536 537 NOM_Scope CORBA_boolean NOMLINK impl_WPFolder_wpSetFldrFlags(WPFolder* nomSelf, const gulong ulFlags, … … 547 548 return TRUE; 548 549 } 550 551 552 /* FIXME: type and name of containerHandle is wrong */ 553 NOM_Scope gulong NOMLINK impl_WPFolder_wpDragOver(WPFolder* nomSelf, const gpointer containerHandle, 554 const gpointer pDragInfo, CORBA_Environment *ev) 555 { 556 /* WPFolderData* nomThis=WPFolderGetData(nomSelf); */ 557 gulong ulNumItems, ulLoop; 558 NOMDragInfo* nomDragInfo=(NOMDragInfo*)pDragInfo; 559 560 if(!nomIsObj(nomDragInfo)) 561 return DOR_NODROP; 562 563 ulNumItems=NOMDragInfo_queryNumDragItems(nomDragInfo, NULLHANDLE); 564 565 /* No items? */ 566 if(0==ulNumItems) 567 return DOR_NODROP; 568 569 for(ulLoop=0; ulLoop<ulNumItems; ulLoop++) 570 { 571 /* We only accept desktop objects for now */ 572 if(!NOMDragInfo_queryIsItemWPObject(nomDragInfo, ulLoop, NULLHANDLE)) 573 return DOR_NODROP; 574 /* No dropping on the source folder for now */ 575 if(nomSelf==(WPFolder*) 576 NOMDragInfo_querySourceWPObject(nomDragInfo, ulLoop, NULLHANDLE)) 577 return DOR_NODROP; 578 /* No dropping on itself */ 579 if(nomSelf==(WPFolder*) 580 NOMDragInfo_queryWPObjectFromItemList(nomDragInfo, ulLoop, NULLHANDLE)) 581 return DOR_NODROP; 582 } 583 584 return GDK_ACTION_MOVE; 585 586 #if 0 587 WPFolder_wpDragOver_parent(nomSelf, ev); 588 #endif 589 } 590 549 591 550 592 #if 0 … … 580 622 } 581 623 624 582 625 NOM_Scope void NOMLINK impl_WPFolder_wpInitData(WPFolder* nomSelf, CORBA_Environment *ev) 583 626 { … … 599 642 which may be searched using the name of the file/directory */ 600 643 //_fldrObjects=g_tree_new((GCompareFunc)strcmp); 601 _fldrObjects=g_tree_new_full((GCompareFunc)strcmp, nomSelf, NULL, (GDestroyNotify) fldrCatchDuplicates); 602 } 603 604 605 /* orbit-idl-c-stubs.c, cs_output_stub line 347 */ 606 NOM_Scope gulong NOMLINK impl_WPFolder_wpDragOver(WPFolder* nomSelf, const gpointer containerHandle, 607 const gpointer pDragInfo, CORBA_Environment *ev) 644 _fldrObjects=g_tree_new_full((GCompareFunc)strcmp, nomSelf, NULL, 645 (GDestroyNotify) fldrCatchDuplicates); 646 } 647 648 NOM_Scope gulong NOMLINK impl_WPFolder_wpDrop(WPFolder* nomSelf, 649 const gpointer containerHandle, 650 const gpointer pDragInfo, 651 CORBA_Environment *ev) 608 652 { 609 653 /* WPFolderData* nomThis=WPFolderGetData(nomSelf); */ 610 611 return GDK_ACTION_COPY; 612 654 gulong ulNumItems, ulLoop; 655 GdkDragAction gda; 656 657 NOMDragInfo* nomDragInfo=(NOMDragInfo*)pDragInfo; 658 659 g_message("%s", __FUNCTION__); 660 661 if(!nomIsObj(nomDragInfo)) 662 return 0; 663 664 ulNumItems=NOMDragInfo_queryNumDragItems(nomDragInfo, NULLHANDLE); 665 666 /* No items? */ 667 if(0==ulNumItems) 668 return 0; 669 670 gda=NOMDragInfo_queryChosenDropAction(nomDragInfo, NULLHANDLE); 671 672 for(ulLoop=0; ulLoop<ulNumItems; ulLoop++) 673 { 674 WPObject* wpObject; 675 676 wpObject=NOMDragInfo_querySourceWPObject(nomDragInfo, ulLoop, NULLHANDLE); 677 g_message("Source folder is: %s", 678 NOMPath_queryCString(WPFolder_wpQueryFileName(wpObject, TRUE, NULLHANDLE), 679 NULLHANDLE)); 680 wpObject=NOMDragInfo_queryWPObjectFromItemList(nomDragInfo, ulLoop, NULLHANDLE); 681 g_message("Dropped object is: %s", 682 NOMPath_queryCString(WPFolder_wpQueryFileName(wpObject, TRUE, NULLHANDLE), 683 NULLHANDLE)); 684 685 g_message("%s: drop action: %d", __FUNCTION__, gda); 686 687 wpObject=NOMDragInfo_queryWPObjectFromItemList(nomDragInfo, ulLoop, NULLHANDLE); 688 switch(gda) 689 { 690 case GDK_ACTION_MOVE: 691 { 692 WPObject_wpMoveObject(wpObject, nomSelf, NULLHANDLE); 693 break; 694 } 695 default: 696 { 697 WPObject_wpCopyObject(wpObject, nomSelf, FALSE, NULLHANDLE); 698 break; 699 } 700 } 701 } 702 703 704 613 705 #if 0 614 /* orbit-idl-c-stubs.c, VoyagerWriteProtoForParentCall line 119 */ 615 WPFolder_wpDragOver_parent(nomSelf, ev); 616 #endif 617 } 618 619 706 WPFolder_wpDrop_parent(nomSelf, ev); 707 #endif 708 return 0; 709 } 710 711 712 713 714 715 716
Note:
See TracChangeset
for help on using the changeset viewer.