~ubuntu-branches/ubuntu/wily/opencollada/wily

« back to all changes in this revision

Viewing changes to COLLADAMax/src/COLLADAMaxGoogleWarehouse.cpp

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2015-05-14 17:23:27 UTC
  • Revision ID: package-import@ubuntu.com-20150514172327-f862u8envms01fra
Tags: upstream-0.1.0~20140703.ddf8f47+dfsg1
ImportĀ upstreamĀ versionĀ 0.1.0~20140703.ddf8f47+dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    Copyright (c) 2008-2009 NetAllied Systems GmbH
 
3
 
 
4
    This file is part of COLLADAMax.
 
5
 
 
6
    Licensed under the MIT Open Source License, 
 
7
    for details please see LICENSE file or the website
 
8
    http://www.opensource.org/licenses/mit-license.php
 
9
*/
 
10
 
 
11
#include "COLLADAMaxStableHeaders.h"
 
12
#include "COLLADAMaxGoogleWarehouse.h"
 
13
#include "COLLADAMaxGoogleWarehouseActionItem.h"
 
14
 
 
15
#include <imenuman.h>
 
16
 
 
17
namespace COLLADAMax
 
18
{
 
19
 
 
20
        const Class_ID GoogleWarehouse::GOOGLEWAREHOUSE_CLASS_ID(0x23c83f50, 0x6bc428f4);
 
21
 
 
22
 
 
23
        //------------------------------
 
24
        ClassDesc2* getGoogleWarehouseDesc()
 
25
        {
 
26
                static GoogleWarehouseDesc description;
 
27
                return &description;
 
28
        }
 
29
 
 
30
        //------------------------------
 
31
        GoogleWarehouse::GoogleWarehouse()
 
32
                : mMenuManager(GetCOREInterface()->GetMenuManager())
 
33
                , mActionManager(GetCOREInterface()->GetActionManager())
 
34
                , mFileMenu(mMenuManager ? mMenuManager->GetMainMenuBar()->GetItem(0)->GetSubMenu() : 0)
 
35
                , mWarehouseItem(0)
 
36
        {
 
37
 
 
38
        }
 
39
 
 
40
        const ActionTableId googleWarehouseTableActions = 0x7ff73cb5;
 
41
        const ActionContextId googleWarehouseTableContext = 0x7ff73cb5;
 
42
 
 
43
        class MyCallback : public ActionCallback
 
44
        {
 
45
                BOOL ExecuteAction(int id) 
 
46
                { 
 
47
                        return FALSE; 
 
48
                }
 
49
        };
 
50
 
 
51
        //------------------------------
 
52
        DWORD GoogleWarehouse::Start()
 
53
        {
 
54
 
 
55
                if ( !mWarehouseItem )
 
56
                {
 
57
                        mWarehouseItem= GetIMenuItem(); 
 
58
                }
 
59
 
 
60
                if ( !mWarehouseItem || !mFileMenu)
 
61
                {
 
62
                        return GUPRESULT_ABORT;
 
63
                }
 
64
 
 
65
                for ( int i = 0, count = mFileMenu->NumItems(); i < mFileMenu->NumItems(); ++i)
 
66
                {
 
67
                        IMenuItem* item = mFileMenu->GetItem(i);
 
68
                        IMenu* menu = item->GetSubMenu();
 
69
                        if ( menu )
 
70
                        {
 
71
                                const TSTR& name = menu->GetTitle();
 
72
                        }
 
73
                        const TSTR& name = item->GetTitle();
 
74
                        if ( name == (TSTR)GoogleWarehouseActionItem::mMenuText)
 
75
                        {
 
76
                                mFileMenu->RemoveItem(i);
 
77
                        }
 
78
                }
 
79
 
 
80
                ActionTable* actionTable = GetCOREInterface()->GetActionManager()->FindTable( googleWarehouseTableActions );
 
81
 
 
82
                ActionCallback* callback = new MyCallback();
 
83
                actionTable->SetCallback(callback);
 
84
 
 
85
                ActionItem* actionItem = actionTable->GetAction(0);
 
86
 
 
87
                mWarehouseItem->SetTitle(GoogleWarehouseActionItem::mMenuText);
 
88
 
 
89
                mWarehouseItem->SetActionItem( actionItem );
 
90
                mWarehouseItem->SetVisible( true );
 
91
                mWarehouseItem->SetEnabled( true );
 
92
 
 
93
                // add warehouse item before import
 
94
                mFileMenu->AddItem(mWarehouseItem, 29);
 
95
 
 
96
                mMenuManager->RegisterMenu(mFileMenu, 0);
 
97
 
 
98
                mMenuManager->UpdateMenuBar();
 
99
 
 
100
#if 0
 
101
                if ( menuManager->RegisterMenuBarContext(kWeightTableMenuBar, warehouseMenuName) ) 
 
102
                {
 
103
                        //add Edit Menu
 
104
                        IMenu* warehouseMenu = GetIMenu();
 
105
                        warehouseMenu->SetTitle(warehouseMenuName);
 
106
                        menuManager->RegisterMenu(warehouseMenu, 0);
 
107
 
 
108
 
 
109
//                      IMenuItem* warehouseItem= GetIMenuItem(); 
 
110
//                      warehouseItem->SetSubMenu(warehouseMenu);
 
111
 
 
112
                        IMenuBarContext* pContext = (IMenuBarContext*) menuManager->GetContext(kWeightTableMenuBar);
 
113
                        pContext->SetMenu(warehouseMenu);
 
114
                        pContext->CreateWindowsMenu();
 
115
 
 
116
                }
 
117
 
 
118
                IMenu* warehouseMenu = GetIMenu();
 
119
                warehouseMenu->SetTitle(warehouseMenuName);
 
120
                menuManager->RegisterMenu(warehouseMenu, 0);
 
121
 
 
122
                IMenuItem* warehouseItem= GetIMenuItem(); 
 
123
                ActionItem* warehouseActionItem = GetActionItem();
 
124
                warehouseItem->SetActionItem()
 
125
                warehouseItem->SetSubMenu(warehouseMenu);
 
126
 
 
127
                fileMenu->AddItem(warehouseItem);
 
128
 
 
129
                IMenu* pMenu = menuManager->FindMenu(warehouseMenuName);
 
130
                IMenu* pMenu2 = menuManager->FindMenu("pferd");
 
131
                IMenu* pMenu3 = menuManager->FindMenu("warehouse");
 
132
 
 
133
                for ( int i = 0, count = fileMenu->NumItems(); i < fileMenu->NumItems(); ++i)
 
134
                {
 
135
                        IMenuItem* item = fileMenu->GetItem(i);
 
136
                        IMenu* menu = item->GetSubMenu();
 
137
                        if ( menu )
 
138
                        {
 
139
                                const TSTR& name = menu->GetTitle();
 
140
                                if ( name == warehouseMenuName)
 
141
                                {
 
142
                                        fileMenu->RemoveItem(item);
 
143
                                        --i;
 
144
                                        int g = 6;
 
145
                                }
 
146
                        }
 
147
                }
 
148
#endif
 
149
 
 
150
                return GUPRESULT_KEEP;
 
151
        }
 
152
 
 
153
        //------------------------------
 
154
        void GoogleWarehouse::Stop()
 
155
        {
 
156
        }
 
157
 
 
158
#ifdef MAX_2013_OR_NEWER
 
159
        //------------------------------
 
160
        void GoogleWarehouse::DeleteThis()
 
161
        {
 
162
                delete this;
 
163
        }
 
164
#endif
 
165
 
 
166
        //------------------------------
 
167
        ActionTable* GoogleWarehouseDesc::GetActions()
 
168
        {
 
169
                ActionTable* pTab = new ActionTable(googleWarehouseTableActions, googleWarehouseTableContext, (TSTR)GoogleWarehouseActionItem::mMenuText);        
 
170
 
 
171
                GoogleWarehouseActionItem* actionItem =  new GoogleWarehouseActionItem();
 
172
                pTab->AppendOperation(actionItem);
 
173
                GetCOREInterface()->GetActionManager()->RegisterActionContext(googleWarehouseTableContext, (TSTR)GoogleWarehouseActionItem::mMenuText);
 
174
                return pTab;
 
175
        }
 
176
 
 
177
 
 
178
} // namespace COLLADAMax