OSDN Git Service

revises makefile
[qcad/qcad.git] / qcadwin / QManager.h
1 //---------------------------------------------------------------------------\r
2 #ifndef QManagerH\r
3 #define QManagerH\r
4 //---------------------------------------------------------------------------\r
5 #include "QCircuit.h"\r
6 #include "QBits.h"\r
7 #include "QDraw.h"\r
8 #include "QPSDraw.h"\r
9 #include "QSelector.h"\r
10 //---------------------------------------------------------------------------\r
11 typedef QCircuit* LPQCircuit;\r
12 \r
13 class QUndoManager;\r
14 \r
15 //---------------------------------------------------------------------------\r
16 struct PrintStatus {\r
17   bool ShowIndexFlg;\r
18   bool ShowVtLineFlg;\r
19 \r
20   PrintStatus(void) {\r
21     ShowIndexFlg = true;\r
22     ShowVtLineFlg = true;\r
23   };\r
24 };\r
25 //---------------------------------------------------------------------------\r
26 class QManager {\r
27 \r
28 private:\r
29   QList qList;\r
30   int **CircuitFlg;\r
31 \r
32   int LineNumber;    // the number of lines\r
33   int ColumnNumber;  // the number of column\r
34   int StepLine;\r
35 \r
36   bool **Occupied;\r
37   bool Modified;\r
38   string FileName;\r
39   QSelector *qSelector;\r
40   QUndoManager *qUndoManager;\r
41 \r
42   void InitCircuitFlg(int Line, int Column);\r
43   string GetCalcText(void);\r
44   void SaveMidCode(char *filename);\r
45   void DeleteAll(void);\r
46   bool Contains(QCircuit *qc);\r
47 \r
48 \r
49 public:\r
50   QManager(void);\r
51   ~QManager(void);\r
52 \r
53   static const int DEFAULT_LINE;\r
54   static const int DEFAULT_COLUMN;\r
55 \r
56   string GetFileName(void){return FileName;};\r
57   void SetFileName(string str){FileName = str;};\r
58   void Init(int l,int c);\r
59   PrintStatus PrtSt;\r
60 //---------------------------------------------------------------------------\r
61   int GetLineNumber(void) {return LineNumber;};\r
62   int GetColumnNumber(void) {return ColumnNumber;};\r
63   bool IsModified(void) {return Modified;};\r
64   void SetColumnNumber(int num) {ColumnNumber = num;};\r
65 //---------------------------------------------------------------------------\r
66   int GetQCircuitCount(void);\r
67   QCircuit* GetQCircuitAt(int index);\r
68   void RemoveCircuit(QCircuit *qc);\r
69 \r
70   void Add(QCircuit *qc);\r
71   void Remove(QCircuit *qc);\r
72   void AddCircuit(QCircuit *qc);\r
73 \r
74   QCircuit* GetQCircuitAt(int x,int y);\r
75 //---------------------------------------------------------------------------\r
76   void SaveToFile(char *filename);\r
77   void LoadFromFile(const char *filename);\r
78 \r
79 //---------------------------------------------------------------------------\r
80 // Edit\r
81 //---------------------------------------------------------------------------\r
82   void Undo(QDraw *qDraw);\r
83   void ReverseAll(void);\r
84 \r
85   QCircuit* GetCircuitInclude(int x, int y);\r
86   void SetAllCircuitFlg(void);\r
87   void ClrCircuitFlg(QCircuit* qc);\r
88   bool CanPutCircuit(QCircuit* qc);\r
89 \r
90   void AddSelect(QCircuit *qc, QDraw *qDraw);\r
91   void RemoveSelect(QDraw *qDraw);\r
92   void RemoveSelectedCircuits(QDraw *qDraw);\r
93 //---------------------------------------------------------------------------\r
94 // Calculation\r
95 //---------------------------------------------------------------------------\r
96   void CalcAll(QBits *qBits);\r
97   void CalcAt(QBits *qBits,int Line);\r
98   void CalcStep(QBits *qBits, QDraw *qDraw);\r
99 \r
100 //---------------------------------------------------------------------------\r
101 // Drawing Method\r
102 //---------------------------------------------------------------------------\r
103   void DrawAll(QDraw* Draw);\r
104   void DrawStepBar(QDraw *qDraw);\r
105   void DrawGridPrinter(QDraw *qDraw);\r
106   void DrawAllPrinter(QDraw *qDraw);\r
107   void DrawAllPS(QPSDraw* psDraw);\r
108 \r
109 //---------------------------------------------------------------------------\r
110   void Swap(QCircuit * qc0, QCircuit * qc1);\r
111   void ModifyCircuit(QCircuit * qc0, QCircuit* qc1);\r
112   void InsertColumn(int y, int width);\r
113   void SaveAsEPS(const char *filename);\r
114 };\r
115 //---------------------------------------------------------------------------\r
116 #endif\r