tab-frame.hpp 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #if defined(Hiro_TabFrame)
  2. @interface CocoaTabFrame : NSTabView <NSTabViewDelegate> {
  3. @public
  4. hiro::mTabFrame* tabFrame;
  5. }
  6. -(id) initWith:(hiro::mTabFrame&)tabFrame;
  7. -(void) tabView:(NSTabView*)tabView didSelectTabViewItem:(NSTabViewItem*)tabViewItem;
  8. @end
  9. @interface CocoaTabFrameItem : NSTabViewItem {
  10. @public
  11. hiro::mTabFrame* tabFrame;
  12. CocoaTabFrame* cocoaTabFrame;
  13. }
  14. -(id) initWith:(hiro::mTabFrame&)tabFrame;
  15. -(NSSize) sizeOfLabel:(BOOL)shouldTruncateLabel;
  16. -(void) drawLabel:(BOOL)shouldTruncateLabel inRect:(NSRect)tabRect;
  17. @end
  18. namespace hiro {
  19. struct pTabFrame : pWidget {
  20. Declare(TabFrame, Widget)
  21. auto append(sTabFrameItem item) -> void;
  22. auto remove(sTabFrameItem item) -> void;
  23. auto setEnabled(bool enabled) -> void override;
  24. auto setFont(const Font& font) -> void override;
  25. auto setGeometry(Geometry geometry) -> void override;
  26. auto setNavigation(Navigation navigation) -> void;
  27. auto setVisible(bool visible) -> void override;
  28. auto _synchronizeSizable() -> void;
  29. CocoaTabFrame* cocoaTabFrame = nullptr;
  30. };
  31. }
  32. #endif