Files Classes Functions Hierarchy
00001 #include <menusystemsave01.h> 00002 00003 menusystemsave01::menusystemsave01 00004 ( 00005 point2<int> const & position_, 00006 stringc & filenamedefault_, 00007 GLint const columnchange_, 00008 fnobj1<void,menusystemsave01&>* savefile_ 00009 ) 00010 : menusystem(position_,columnchange_), 00011 filenamedefault(filenamedefault_), filenameindex(0), 00012 state(0), sticky(true), savefile(savefile_) 00013 { 00014 addfont10("[f] ",0); 00015 X.x += 14; 00016 filename=filenamedefault; 00017 addfont10(filenameindex,filename,1); 00018 addfont10("[s] Save",1); 00019 addfont10("[c] Cancel",0); 00020 00021 update(); 00022 } 00023 00024 void menusystemsave01::update() 00025 { 00026 vItems[filenameindex]->name = filename; 00027 } 00028 00029 void menusystemsave01::readBufferedTerminationAction() 00030 { 00031 if (state==1) 00032 { 00033 filename = readBufferedResult; 00034 update(); 00035 } 00036 /* 00037 if (state==2) 00038 { 00039 filename=filenamedefault; 00040 } 00041 if (state==3) 00042 { 00043 } 00044 */ 00045 } 00046 00047 void menusystemsave01::readImmediate(charc ch) 00048 { 00049 switch (ch) 00050 { 00051 case 'f': 00052 readBufferedString(filenameindex); 00053 state=1; 00054 break; 00055 case 'c': 00056 state=2; 00057 if (sticky==false) 00058 { 00059 filename=filenamedefault; 00060 update(); 00061 } 00062 transfercontroltoparent(); 00063 break; 00064 case 's': 00065 state=3; 00066 assert(savefile); 00067 (*savefile)(*this); 00068 transfercontroltoparent(); 00069 break; 00070 } 00071 } 00072 00073
1.5.8