diff anagram/vaclgui/statwin.hpp @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/anagram/vaclgui/statwin.hpp	Sat Dec 22 17:52:45 2007 -0500
@@ -0,0 +1,59 @@
+/*
+ * AnaGram, A System for Syntax Directed Programming
+ * Copyright 1997-2002 Parsifal Software. All Rights Reserved.
+ * See the file COPYING for license and usage terms.
+ *
+ * statwin.hpp
+ */
+
+#ifndef STATWIN_HPP
+#define STATWIN_HPP
+
+#include <imcelcv.hpp>
+//#include <ipainevt.hpp>
+#include <ipainhdr.hpp>
+//#include <isetcv.hpp>
+class IStaticText; //#include <istattxt.hpp>
+
+#include "action.h"
+#include "agnotify.h"
+#include "frame.hpp"
+
+
+class StatisticsWindow
+  : public AgFrame
+  , public IPaintHandler
+{
+protected:
+  enum { nLines = 8 };
+  IMultiCellCanvas clientArea;
+  struct Parameter {
+    char *name;
+    int *value;
+  };
+  struct Line {
+    IStaticText *name;
+    IStaticText *value;
+  };
+  static Parameter parameter[nLines];
+  Line line[nLines];
+  IStaticText *statisticsField(IWindow *owner);
+  void resize();
+  AgNotificationAction<StatisticsWindow> dataColorChange;
+  AgNotificationAction<StatisticsWindow> fontChange;
+  void onColorChange();
+  void onFontChange();
+
+  HelpDemon helpDemon;
+  HelpDemon *nameDemon[nLines];
+  HelpDemon *valueDemon[nLines];
+
+public:
+  StatisticsWindow::StatisticsWindow();
+  ~StatisticsWindow();
+  Boolean paintWindow(IPaintEvent &event);
+
+  int updateDisplay();
+};
+
+#endif /* STATWIN_HPP */