itemwindow.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "itemwindow.h"
  2. #define Uses_TProgram
  3. #define Uses_TDeskTop
  4. #include <tvision/tv.h>
  5. static short winNumber = 0;
  6. TFrame *TItemWindow::initFrame(TRect r) { return new TCustomFrame(r); }
  7. TItemWindow::TItemWindow(const char *fileName)
  8. : TWindowInit(&TItemWindow::initFrame),
  9. TWindow(TProgram::deskTop->getExtent(), fileName, winNumber++) {
  10. options |= ofTileable;
  11. itemViewer = new TItemViewer(
  12. itemViewerBounds(), standardScrollBar(sbHorizontal | sbHandleKeyboard),
  13. standardScrollBar(sbVertical | sbHandleKeyboard),
  14. TItemViewer::ViewedColumn::Items);
  15. insert(itemViewer);
  16. catViewer = new TItemViewer(
  17. catViewerBounds(), standardScrollBar(sbHorizontal | sbHandleKeyboard),
  18. standardScrollBar(sbVertical | sbHandleKeyboard),
  19. TItemViewer::ViewedColumn::Categories);
  20. insert(catViewer);
  21. weightViewer = new TItemViewer(
  22. weightViewerBounds(), standardScrollBar(sbHorizontal | sbHandleKeyboard),
  23. standardScrollBar(sbVertical | sbHandleKeyboard),
  24. TItemViewer::ViewedColumn::Weights);
  25. insert(weightViewer);
  26. }
  27. void TItemWindow::draw() {
  28. itemViewer->changeBounds(itemViewerBounds());
  29. catViewer->changeBounds(catViewerBounds());
  30. weightViewer->changeBounds(weightViewerBounds());
  31. TWindow::draw();
  32. }
  33. void TItemWindow::handleEvent(TEvent &event) { TWindow::handleEvent(event); }
  34. TPalette &TItemWindow::getPalette() const {
  35. static TPalette palette(cpItemWindow, sizeof(cpItemWindow) - 1);
  36. return palette;
  37. }