1 //---------------------------------------------------------------------------
\r
4 //---------------------------------------------------------------------------
\r
5 #include "QCircuit.h"
\r
9 #include "QSelector.h"
\r
10 //---------------------------------------------------------------------------
\r
11 typedef QCircuit* LPQCircuit;
\r
15 //---------------------------------------------------------------------------
\r
16 struct PrintStatus {
\r
21 ShowIndexFlg = true;
\r
22 ShowVtLineFlg = true;
\r
25 //---------------------------------------------------------------------------
\r
32 int LineNumber; // the number of lines
\r
33 int ColumnNumber; // the number of column
\r
39 QSelector *qSelector;
\r
40 QUndoManager *qUndoManager;
\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
53 static const int DEFAULT_LINE;
\r
54 static const int DEFAULT_COLUMN;
\r
56 string GetFileName(void){return FileName;};
\r
57 void SetFileName(string str){FileName = str;};
\r
58 void Init(int l,int c);
\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
70 void Add(QCircuit *qc);
\r
71 void Remove(QCircuit *qc);
\r
72 void AddCircuit(QCircuit *qc);
\r
74 QCircuit* GetQCircuitAt(int x,int y);
\r
75 //---------------------------------------------------------------------------
\r
76 void SaveToFile(char *filename);
\r
77 void LoadFromFile(const char *filename);
\r
79 //---------------------------------------------------------------------------
\r
81 //---------------------------------------------------------------------------
\r
82 void Undo(QDraw *qDraw);
\r
83 void ReverseAll(void);
\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
90 void AddSelect(QCircuit *qc, QDraw *qDraw);
\r
91 void RemoveSelect(QDraw *qDraw);
\r
92 void RemoveSelectedCircuits(QDraw *qDraw);
\r
93 //---------------------------------------------------------------------------
\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
100 //---------------------------------------------------------------------------
\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
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
115 //---------------------------------------------------------------------------
\r