MenuStrip.cpp 857 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. GWEN
  3. Copyright (c) 2010 Facepunch Studios
  4. See license in Gwen.h
  5. */
  6. #include "Gwen/Gwen.h"
  7. #include "Gwen/Controls/MenuStrip.h"
  8. #include "Gwen/Skin.h"
  9. using namespace Gwen;
  10. using namespace Gwen::Controls;
  11. GWEN_CONTROL_CONSTRUCTOR( MenuStrip )
  12. {
  13. SetBounds( 0, 0, 200, 22 );
  14. Dock( Pos::Top );
  15. m_InnerPanel->SetPadding( Padding( 5, 2, 2, 2 ) );
  16. }
  17. void MenuStrip::Render( Skin::Base* skin )
  18. {
  19. skin->DrawMenuStrip( this );
  20. }
  21. void MenuStrip::Layout( Skin::Base* /*skin*/ )
  22. {
  23. //TODO: We don't want to do vertical sizing the same as Menu, do nothing for now
  24. }
  25. void MenuStrip::OnAddItem( MenuItem* item )
  26. {
  27. item->Dock( Pos::Left );
  28. item->SetPadding( Padding( 5, 0, 5, 0 ) );
  29. item->SizeToContents();
  30. item->SetOnStrip( true );
  31. item->onHoverEnter.Add( this, &Menu::OnHoverItem );
  32. }
  33. bool MenuStrip::ShouldHoverOpenMenu()
  34. {
  35. return IsMenuOpen();
  36. }