123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- #include "GwenTextureWindow.h"
- #include "gwenUserInterface.h"
- #include "gwenInternalData.h"
- #include "Gwen/Controls/ImagePanel.h"
- class MyGraphWindow : public Gwen::Controls::WindowControl
- {
- Gwen::Controls::ImagePanel* m_imgPanel;
- public:
-
- class MyMenuItems2* m_menuItems;
-
- MyGraphWindow ( const MyGraphInput& input)
- : Gwen::Controls::WindowControl( input.m_data->pCanvas ),
- m_menuItems(0)
- {
- Gwen::UnicodeString str = Gwen::Utility::StringToUnicode(input.m_name);
- SetTitle( str );
- SetPos(input.m_xPos,input.m_yPos);
- SetSize( 12+input.m_width+2*input.m_borderWidth, 30+input.m_height+2*input.m_borderWidth );
-
- m_imgPanel = new Gwen::Controls::ImagePanel( this );
- if (input.m_texName)
- {
- Gwen::UnicodeString texName = Gwen::Utility::StringToUnicode(input.m_texName);
- m_imgPanel->SetImage( texName );
- }
- m_imgPanel->SetBounds( input.m_borderWidth, input.m_borderWidth,
- input.m_width,
- input.m_height );
- // this->Dock( Gwen::Pos::Bottom);
- }
- virtual ~MyGraphWindow()
- {
- delete m_imgPanel;
- }
- };
- class MyMenuItems2 : public Gwen::Controls::Base
- {
- MyGraphWindow* m_graphWindow;
-
- public:
-
- Gwen::Controls::MenuItem* m_item;
-
- MyMenuItems2(MyGraphWindow* graphWindow)
- :Gwen::Controls::Base(0),
- m_graphWindow(graphWindow),
- m_item(0)
- {
- }
-
- void MenuItemSelect(Gwen::Controls::Base* pControl)
- {
- if (m_graphWindow->Hidden())
- {
- m_graphWindow->SetHidden(false);
- //@TODO(erwincoumans) setCheck/SetCheckable drawing is broken, need to see what's wrong
- // if (m_item)
- // m_item->SetCheck(false);
-
- } else
- {
- m_graphWindow->SetHidden(true);
- // if (m_item)
- // m_item->SetCheck(true);
-
- }
-
- }
- };
- MyGraphWindow* setupTextureWindow(const MyGraphInput& input)
- {
- MyGraphWindow* graphWindow = new MyGraphWindow(input);
- MyMenuItems2* menuItems = new MyMenuItems2(graphWindow);
- graphWindow->m_menuItems = menuItems;
-
- Gwen::UnicodeString str = Gwen::Utility::StringToUnicode(input.m_name);
- menuItems->m_item = input.m_data->m_viewMenu->GetMenu()->AddItem( str, menuItems,(Gwen::Event::Handler::Function)&MyMenuItems2::MenuItemSelect);
- // menuItems->m_item->SetCheckable(true);
- return graphWindow;
-
- }
- void destroyTextureWindow(MyGraphWindow* window)
- {
- delete window->m_menuItems->m_item;
- delete window->m_menuItems;
- delete window;
- }
|