Go to the documentation of this file.00001
00002
00005 #ifndef WATCH_GUI_H
00006 #define WATCH_GUI_H
00007
00008 #include "window_gui.h"
00009 #include "company_base.h"
00010
00011 #define MAX_ACTIVITY 30
00012
00013 enum WatchCompanyWidgets {
00014 EWW_CAPTION,
00015 EWW_PB_COMPANY_FIRST,
00016 EWW_PB_COMPANY_LAST = EWW_PB_COMPANY_FIRST + MAX_COMPANIES - 1,
00017 EWW_HAS_CLIENT_FIRST,
00018 EWW_HAS_CLIENT_LAST = EWW_HAS_CLIENT_FIRST + MAX_COMPANIES - 1,
00019 EWW_ACTIVITY_FIRST,
00020 EWW_ACTIVITY_LAST = EWW_ACTIVITY_FIRST + MAX_COMPANIES - 1,
00021 EWW_PB_ACTION1_FIRST,
00022 EWW_PB_ACTION1_LAST = EWW_PB_ACTION1_FIRST + MAX_COMPANIES - 1,
00023 EWW_WATCH,
00024 EWW_ZOOMIN,
00025 EWW_ZOOMOUT,
00026 EWW_CENTER,
00027 EWW_NEW_WINDOW
00028 };
00029
00030 class WatchCompany : public Window
00031 {
00032
00033 protected:
00034
00035 CompanyID watched_company;
00036 int company_activity[MAX_COMPANIES];
00037 int company_count_client[MAX_COMPANIES];
00038 char company_name[MAX_LENGTH_COMPANY_NAME_CHARS];
00039
00040 void SetWatchWindowTitle();
00041 void ScrollToTile(TileIndex tile);
00042
00043
00044 public:
00045
00046 WatchCompany(const WindowDesc *desc, int window_number, CompanyID company_to_watch);
00047
00048 virtual void SetStringParameters(int widget) const;
00049
00050 virtual void DrawWidget(const Rect &r, int widget) const;
00051 virtual void OnClick(Point pt, int widget, int click_count);
00052 virtual void OnResize();
00053 virtual void OnScroll(Point delta);
00054 virtual void OnMouseWheel(int wheel);
00055 virtual void OnInvalidateData(int data, bool gui_scope);
00056 virtual void OnTick();
00057
00058 void OnDoCommand(CompanyByte company, TileIndex tile);
00059 };
00060
00061 void ShowWatchWindow(CompanyID company_to_watch);
00062
00063 #endif // COMPANY_GUI_H