#include <ndk++.h>
Inheritance diagram for NDK_XX::EditDate:
Public Methods | |
EditDate (Control *parent,int id, const string &msk,int y, int x,int style=editable|tabstop|notify|framed) | |
EditDate (Control *parent, int id, const string &msk,int lines, int cols, int y, int x,int style=editable|tabstop|notify|framed) | |
Protected Methods | |
int | edit (int key) |
This is the specialized driver for edition. | |
Protected Attributes | |
string | mask |
|
EditDate Constructor See parameters for class Control Definition at line 796 of file ndk++.cc. References NDK_XX::Control::enable_notify(), mask, NDK_XX::Control::set_overwrite(), and NDK_XX::Label::set_text().
00799 :EditNumber(parent,id,msk 00800 ,1+((style&framed==framed)*2) 00801 ,msk.size()+((style&framed==framed)*2) 00802 ,y,x,style) 00803 ,mask(msk) 00804 { 00805 enable_notify(false); 00806 set_overwrite(); 00807 set_text(mask); 00808 enable_notify(); 00809 } |
|
Definition at line 782 of file ndk++.cc. References NDK_XX::Control::enable_notify(), mask, NDK_XX::Control::set_overwrite(), and NDK_XX::Label::set_text().
00785 :EditNumber(parent,id,msk,lines,cols,y,x,style) 00786 ,mask(msk) 00787 { 00788 enable_notify(false); 00789 set_overwrite(); 00790 set_text(mask); 00791 enable_notify(); 00792 } |
|
This is the specialized driver for edition.
Reimplemented from NDK_XX::EditNumber. Definition at line 813 of file ndk++.cc. References NDK_XX::Label::cur_x, KEY_ENTER, mask, NDK_XX::Edit::refresh_text(), NDK_XX::Label::refresh_viewport(), and NDK_XX::Label::text.
00814 { 00815 int result = FALSE; 00816 switch(key) { 00817 case KEY_LEFT: 00818 result = Edit::edit(key); 00819 if(text[cur_x]=='/' || text[cur_x]=='-'){ 00820 result = Edit::edit(key); 00821 } 00822 break; 00823 case KEY_BACKSPACE: 00824 case KEY_DC: 00825 if(cur_x==0) 00826 beep(); 00827 else{ 00828 if(text[cur_x-1]=='/' || text[cur_x-1]=='-'){ 00829 cur_x--; 00830 refresh_viewport(); 00831 } 00832 result = Edit::edit(key); 00833 text.insert(cur_x,1,mask[cur_x]); 00834 refresh_text(); 00835 refresh_viewport(); 00836 } 00837 break; 00838 case '0': 00839 case '1': 00840 case '2': 00841 case '3': 00842 case '4': 00843 case '5': 00844 case '6': 00845 case '7': 00846 case '8': 00847 case '9': 00848 case KEY_ENTER: 00849 case KEY_RIGHT: 00850 result = Edit::edit(key); 00851 if(text[cur_x]=='/' || text[cur_x]=='-'){ 00852 result = Edit::edit(KEY_RIGHT); 00853 } 00854 break; 00855 default: 00856 beep(); 00857 break; 00858 } 00859 return result; 00860 } |
|
Definition at line 639 of file ndk++.h. Referenced by edit(), EditDate(), and NDK_XX::Label::refresh_viewport(). |