#include <nodes.h>
Inheritance diagram for Nodes:
Public Methods | |
Nodes (int, BOOLEAN) | |
Nodes (int, int, BOOLEAN) | |
void | Init (Display *, int, int) |
~Nodes () | |
Message | Dispatch (Message &) |
void | Draw () |
void | NewFillColor (int) |
void | EnableNode (int) |
void | DisableNode () |
void | ChangeStatus (BOOLEAN) |
void | ChangeStatus (BOOLEAN, int) |
Private Methods | |
void | set_constants (int, int, BOOLEAN) |
void | image_size () |
void | image_size (int, int) |
void | prep_screen (int) |
void | fill_box () |
void | empty_box (int) |
void | animate_box () |
void | animate_frame () |
Message | key_msg (Message &) |
Message | command_msg (Message &) |
Message | mouse_msg (Message &) |
void | disable_box () |
void | enable_box () |
Private Attributes | |
int | NCOLORFILL |
int | NBOXSIZE |
|
Definition at line 72 of file nodes.h. References image_size(), and set_constants().
00073 {set_constants(Id, BLUE, state); image_size();} |
|
Definition at line 69 of file nodes.h. References image_size(), and set_constants().
00070 {set_constants(Id, colorfill, state); image_size();} |
|
Definition at line 44 of file nodes.h. References CheckBox::Erase().
00045 {if (Drawn) Erase();} |
|
Reimplemented from CheckBox. Definition at line 93 of file nodes.h. References CheckBox::Able, empty_box(), fill_box(), NBOXCOLOR, and NOFFCOLOR. Referenced by ChangeStatus(), command_msg(), and mouse_msg().
|
|
Reimplemented from CheckBox. Definition at line 125 of file nodes.c. References CCIRCLE, Viewport::Circle(), ScrnObj::Disp, Viewport::Done(), Viewport::FastDraw(), NBOXCOLOR, NBOXSIZE, NFRAME, Viewport::SetColor(), Viewport::SetLineStyle(), STOPRAD, ScrnObj::X, and ScrnObj::Y. Referenced by mouse_msg().
00126 { 00127 Disp->FastDraw(); 00128 00129 if (Activated) 00130 Disp->SetColor(BLACK); 00131 else 00132 Disp->SetColor(NBOXCOLOR); 00133 00134 Disp->SetLineStyle(SOLID_LINE, 0, NFRAME); 00135 00136 int radius = (int)(CCIRCLE/2); 00137 Disp->Circle(X+NBOXSIZE/2, Y+NBOXSIZE/2+STOPRAD, radius-1); 00138 00139 Disp->Done(); 00140 } |
|
Definition at line 84 of file nodes.h. References animate_box(), CheckBox::BStatus, and NCOLORFILL.
00085 {BStatus=bswitch; NCOLORFILL=color; animate_box();} |
|
Reimplemented from CheckBox. Definition at line 87 of file nodes.h. References animate_box(), and CheckBox::BStatus. Referenced by MapWindow::HilightNode(), and MapWindow::UnHilightNode().
00088 {BStatus=bswitch; animate_box();} |
|
Reimplemented from CheckBox. Definition at line 187 of file nodes.c. References animate_box(), ButtonMsg, Message::code, Message::d1, Disable, disable_box(), Enable, enable_box(), CheckBox::IdNum, RequestStatus, CheckBox::status(), and Status. Referenced by Dispatch().
00188 { 00189 if(msg.d1 != IdNum) 00190 return NullMsg; 00191 00192 switch (msg.code) { 00193 case Disable: 00194 animate_box(); 00195 disable_box(); 00196 return Acknowledged; 00197 case Enable: 00198 enable_box(); 00199 return Acknowledged; 00200 case RequestStatus: 00201 return Message(ButtonMsg, Status, IdNum, (int)status()); 00202 } 00203 return NullMsg; 00204 } |
|
Reimplemented from CheckBox. Definition at line 97 of file nodes.h. References CheckBox::Able, CheckBox::BStatus, empty_box(), fill_box(), NOFFCOLOR, and Off. Referenced by command_msg(), and DisableNode().
|
|
Definition at line 78 of file nodes.h. References disable_box().
00079 {disable_box();} |
|
Reimplemented from CheckBox. Definition at line 142 of file nodes.c. References command_msg(), GodMsg, key_msg(), KeyMsg, mouse_msg(), MouseMsg, and Message::origin.
|
|
Reimplemented from CheckBox. Definition at line 53 of file nodes.c. References CCIRCLE, ScrnObj::Disp, Viewport::Done(), ScrnObj::Drawn, Viewport::FastDraw(), fill_box(), Viewport::FillEllipse(), CheckBox::IdNum, NBOXCOLOR, NBOXSIZE, NOFFCOLOR, Viewport::SetColor(), Viewport::SetFillStyle(), STOPRAD, ScrnObj::X, ScrnObj::Y, and Yes.
00054 { 00055 Disp->FastDraw(); 00056 00057 Disp->SetColor(BLACK); 00058 00059 if(theMap.taxi(IdNum)) // Taxi Stop 00060 Disp->SetFillStyle(SOLID_FILL, YELLOW); 00061 else 00062 Disp->SetFillStyle(SOLID_FILL, GREEN); 00063 Disp->FillEllipse(X+NBOXSIZE/2, Y+NBOXSIZE/2-CCIRCLE/2+STOPRAD, STOPRAD, STOPRAD); 00064 00065 if(theMap.bus(IdNum)) // Bus Stop 00066 Disp->SetFillStyle(SOLID_FILL, GREEN); 00067 else 00068 Disp->SetFillStyle(SOLID_FILL, YELLOW); 00069 Disp->FillEllipse(X+NBOXSIZE/2+CCIRCLE/2, Y+NBOXSIZE/2+2*STOPRAD-2, STOPRAD, STOPRAD); 00070 00071 if(theMap.subway(IdNum)) // Subway Stop 00072 Disp->SetFillStyle(SOLID_FILL, RED); 00073 else if (theMap.taxi (IdNum)) 00074 Disp->SetFillStyle(SOLID_FILL, YELLOW); 00075 else 00076 Disp->SetFillStyle(SOLID_FILL, GREEN); 00077 Disp->FillEllipse(X+NBOXSIZE/2-CCIRCLE/2, Y+NBOXSIZE/2+2*STOPRAD-2, STOPRAD, STOPRAD); 00078 00079 if(Able) 00080 Disp->SetFillStyle(SOLID_FILL, NBOXCOLOR); 00081 else 00082 Disp->SetFillStyle(SOLID_FILL, NOFFCOLOR); 00083 00084 int radius = (int)(CCIRCLE/2); 00085 Disp->SetColor(BLACK); 00086 Disp->FillEllipse(X+NBOXSIZE/2, Y+NBOXSIZE/2+STOPRAD, radius, radius); 00087 00088 if(BStatus) 00089 fill_box(); 00090 00091 Disp->Done(); 00092 Drawn=Yes; 00093 } |
|
Reimplemented from CheckBox. Definition at line 95 of file nodes.c. References CheckBox::BStatus, CCIRCLE, ScrnObj::Disp, Viewport::Done(), Viewport::FastDraw(), Viewport::FillEllipse(), NBOXSIZE, Off, Viewport::SetColor(), Viewport::SetFillStyle(), STOPRAD, ScrnObj::X, and ScrnObj::Y. Referenced by animate_box(), disable_box(), and enable_box().
|
|
Reimplemented from CheckBox. Definition at line 101 of file nodes.h. References CheckBox::Able, CheckBox::BStatus, empty_box(), fill_box(), NBOXCOLOR, and On. Referenced by command_msg(), and EnableNode().
|
|
Definition at line 81 of file nodes.h. References CheckBox::BStatus, enable_box(), and NCOLORFILL.
00082 {if(!BStatus) NCOLORFILL=color; enable_box();} |
|
Reimplemented from CheckBox. Definition at line 109 of file nodes.c. References CheckBox::BStatus, CCIRCLE, ScrnObj::Disp, Viewport::Done(), Viewport::FastDraw(), Viewport::FillEllipse(), NBOXSIZE, NCOLORFILL, NFILLSIZE, On, Viewport::SetColor(), Viewport::SetFillStyle(), STOPRAD, ScrnObj::X, and ScrnObj::Y. Referenced by animate_box(), disable_box(), Draw(), and enable_box().
00110 { 00111 Disp->FastDraw(); 00112 00113 Disp->SetFillStyle(SOLID_FILL, NCOLORFILL); 00114 Disp->SetColor(NCOLORFILL); 00115 00116 int radius = (int)(CCIRCLE/2); 00117 Disp->SetColor(BLACK); 00118 Disp->FillEllipse(X+NBOXSIZE/2, Y+NBOXSIZE/2+STOPRAD, radius-NFILLSIZE, radius-NFILLSIZE); 00119 00120 Disp->Done(); 00121 00122 BStatus = On; 00123 } |
|
Reimplemented from CheckBox. |
|
Reimplemented from CheckBox. Definition at line 90 of file nodes.h. References NBOXSIZE, ScrnObj::X, CheckBox::X2, ScrnObj::Y, and CheckBox::Y2. Referenced by Nodes().
|
|
Reimplemented from CheckBox. Definition at line 42 of file nodes.c. References CheckBox::BkColor, CCIRCLE, ScrnObj::Disp, Viewport::GetBkColor(), NBOXSIZE, STOPRAD, ScrnObj::X, CheckBox::X2, ScrnObj::Y, and CheckBox::Y2.
|
|
Reimplemented from CheckBox. Definition at line 206 of file nodes.c. Referenced by Dispatch().
00207 { 00208 /* if (KeyBounds(msg.d1, msg.d2) && Able) 00209 return NullMsg; */ 00210 00211 return NullMsg; 00212 } |
|
Reimplemented from CheckBox. Definition at line 155 of file nodes.c. References CheckBox::Able, CheckBox::Activated, animate_box(), animate_frame(), CheckBox::BStatus, CheckBox::ButtonBounds(), ButtonMsg, Message::code, Message::d1, Message::d2, False, CheckBox::IdNum, LMouseDown, LMouseStillDown, LMouseUp, Off, On, Status, and True. Referenced by Dispatch().
00156 { 00157 if (ButtonBounds(msg.d1, msg.d2) && Able) { 00158 switch(msg.code) { 00159 case LMouseDown: 00160 Activated = True; 00161 animate_frame(); 00162 return Acknowledged; 00163 case LMouseStillDown: 00164 if(!Activated) { 00165 Activated = True; 00166 animate_frame(); 00167 } 00168 return NullMsg; 00169 case LMouseUp: 00170 Activated = False; 00171 BStatus = BStatus? Off : On; 00172 animate_frame(); 00173 animate_box(); 00174 return Message(ButtonMsg, Status, IdNum, BStatus); 00175 default: 00176 return NullMsg; 00177 } 00178 } 00179 if(msg.code==LMouseStillDown && Activated && Able) { 00180 Activated = False; 00181 animate_frame(); 00182 animate_box(); 00183 } 00184 return NullMsg; 00185 } |
|
Definition at line 75 of file nodes.h. References NCOLORFILL.
00076 {NCOLORFILL=newcolor;} |
|
Reimplemented from CheckBox. |
|
Definition at line 20 of file nodes.c. References CheckBox::Able, CheckBox::Activated, CheckBox::BStatus, ScrnObj::Drawn, False, CheckBox::IdNum, NCOLORFILL, No, Off, ScrnObj::X, and ScrnObj::Y. Referenced by Nodes().
00021 { 00022 /***************************************************************** 00023 00024 Flag states of Nodes... 00025 00026 Activated - User input detected... 00027 BStatus - Whether the option is selected or not... 00028 Able - Allow/disallow interaction with user... 00029 00030 *****************************************************************/ 00031 00032 Activated = False; 00033 BStatus = Off; // For now, may be a user-defined field later. 00034 Able = state; 00035 00036 NCOLORFILL=colorfill; 00037 IdNum = Id; 00038 Drawn = No; 00039 X=0; Y=0; 00040 } |
|
Definition at line 39 of file nodes.h. Referenced by animate_frame(), Draw(), empty_box(), fill_box(), image_size(), and Init(). |
|
Definition at line 39 of file nodes.h. Referenced by ChangeStatus(), EnableNode(), fill_box(), NewFillColor(), and set_constants(). |