OSDN Git Service

Initial Commit
[qcad/qcad.git] / qcadwin / QSelector.cpp
1 //---------------------------------------------------------------------------\r
2 #include <algorithm>\r
3 #include "QSelector.h"\r
4 //---------------------------------------------------------------------------\r
5 QSelector::QSelector() {}\r
6 //---------------------------------------------------------------------------\r
7 QSelector::~QSelector() {}\r
8 //---------------------------------------------------------------------------\r
9 void\r
10 QSelector::DeleteAll(void) {\r
11   qList.clear();\r
12 }\r
13 //---------------------------------------------------------------------------\r
14 void\r
15 QSelector::Select(QDraw *qDraw) {\r
16   int GridSize = qDraw->GetGridSize();\r
17   for (int i = 0; i < GetSelectedCount(); i++) {\r
18     QCircuit *qc = (QCircuit *)qList[i];\r
19     TRect rect = qc->GetOccupiedRect();\r
20     int x0 = GridSize * rect.left;\r
21     int y0 = GridSize * rect.top;\r
22     int x1 = GridSize * rect.right;\r
23     int y1 = GridSize * rect.bottom;\r
24     qDraw->SetBrushColor(clBlack);\r
25     qDraw->FrameRect(x0, y0, x1, y1);\r
26   }\r
27 }\r
28 //--------------------------------------------------------------------------\r
29 bool\r
30 QSelector::IsAdded(QCircuit *qc) {\r
31   for (QList::iterator i=qList.begin();i!=qList.end();i++) {\r
32     if (qc == (QCircuit *)i) {\r
33       return true;\r
34     }\r
35   }\r
36   return false;\r
37 }\r
38 //--------------------------------------------------------------------------\r
39 void\r
40 QSelector::Remove(QCircuit *qc) {\r
41   qList.erase(remove(qList.begin(), qList.end(), qc), qList.end());\r
42 }\r
43 //--------------------------------------------------------------------------\r
44 void\r
45 QSelector::AddRemove(QCircuit *qc) {\r
46   if (!IsAdded(qc)) {\r
47     Add(qc);\r
48   } else {\r
49     Remove(qc);\r
50   }\r
51 }\r
52 //--------------------------------------------------------------------------\r
53 QCircuit *\r
54 QSelector::GetSelectedCircuit(int index) {\r
55   return (QCircuit*) qList[index];\r
56 }\r
57 //--------------------------------------------------------------------------\r
58 \r