code_uiimagewidget.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // UIImageWidget application source code
  2. #include <Atomic/UI/UIImageWidget.h>
  3. #include "PeriodicApp.h"
  4. void PeriodicApp::setup_uiimagewidget( UIWidget *layout )
  5. {
  6. PODVector<UIWidget*> dest;
  7. layout->SearchWidgetClass( "TBButton", dest );
  8. for (unsigned ii = 0; ii < dest.Size(); ii++)
  9. SubscribeToEvent(dest[ii], E_WIDGETEVENT, ATOMIC_HANDLER(PeriodicApp, HandleUiimagewidgetEvent ));
  10. }
  11. void PeriodicApp::HandleUiimagewidgetEvent(StringHash eventType, VariantMap& eventData)
  12. {
  13. using namespace WidgetEvent;
  14. UIWidget* widget = static_cast<UIWidget*>(eventData[P_TARGET].GetPtr());
  15. if ( widget == NULL ) return;
  16. if (eventData[P_TYPE] == UI_EVENT_TYPE_CLICK)
  17. {
  18. if (widget->GetId() == "uiimagewidgetcode" )
  19. {
  20. AppLog( "UIImageWidget support : " + widget->GetId() + " was pressed " );
  21. ViewCode ( "Components/code_uiimagewidget.cpp", widget->GetParent() );
  22. }
  23. if (widget->GetId() == "uiimagewidgetlayout" )
  24. {
  25. AppLog( "UIImageWidget support : " + widget->GetId() + " was pressed ");
  26. ViewCode ( "Scenes/layout_uiimagewidget.ui.txt", widget->GetParent() );
  27. }
  28. if (widget->GetId() == "imagecolor" )
  29. {
  30. AppLog( "UIImageWidget action : " + widget->GetId() + " was pressed ");
  31. UIImageWidget *img1 = static_cast<UIImageWidget*>( widget->FindWidget("imagewidgetdemo") );
  32. img1->SetImage("Textures/HSV21.png");
  33. }
  34. if (widget->GetId() == "imagenewbuild" )
  35. {
  36. AppLog( "UIImageWidget action : " + widget->GetId() + " was pressed ");
  37. UIImageWidget *img2 = static_cast<UIImageWidget*>( widget->FindWidget("imagewidgetdemo") );
  38. img2->SetImage("Textures/newbuilddetected_header.jpg");
  39. }
  40. }
  41. }