ScreenTabsPanel.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef HEADER_ScreenTabsPanel
  2. #define HEADER_ScreenTabsPanel
  3. /*
  4. htop - ScreenTabsPanel.h
  5. (C) 2023 htop dev team
  6. Released under the GNU GPLv2+, see the COPYING file
  7. in the source distribution for its full text.
  8. */
  9. #include "DynamicScreen.h"
  10. #include "ListItem.h"
  11. #include "Object.h"
  12. #include "Panel.h"
  13. #include "ScreensPanel.h"
  14. #include "ScreenManager.h"
  15. #include "Settings.h"
  16. typedef struct ScreenNamesPanel_ {
  17. Panel super;
  18. ScreenManager* scr;
  19. Settings* settings;
  20. char buffer[SCREEN_NAME_LEN + 1];
  21. DynamicScreen* ds;
  22. char* saved;
  23. int cursor;
  24. ListItem* renamingItem;
  25. } ScreenNamesPanel;
  26. typedef struct ScreenNameListItem_ {
  27. ListItem super;
  28. ScreenSettings* ss;
  29. } ScreenNameListItem;
  30. typedef struct ScreenTabsPanel_ {
  31. Panel super;
  32. ScreenManager* scr;
  33. Settings* settings;
  34. ScreenNamesPanel* names;
  35. int cursor;
  36. } ScreenTabsPanel;
  37. typedef struct ScreenTabListItem_ {
  38. ListItem super;
  39. DynamicScreen* ds;
  40. } ScreenTabListItem;
  41. ScreenTabsPanel* ScreenTabsPanel_new(Settings* settings);
  42. extern ObjectClass ScreenNameListItem_class;
  43. ScreenNameListItem* ScreenNameListItem_new(const char* value, ScreenSettings* ss);
  44. extern PanelClass ScreenNamesPanel_class;
  45. ScreenNamesPanel* ScreenNamesPanel_new(Settings* settings);
  46. #endif