Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

NDK_XX::EditDate Class Reference

#include <ndk++.h>

Inheritance diagram for NDK_XX::EditDate:

NDK_XX::EditNumber NDK_XX::Edit NDK_XX::Label NDK_XX::Control List of all members.

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

Constructor & Destructor Documentation

NDK_XX::EditDate::EditDate Control   parent,
int    id,
const string &    msk,
int    y,
int    x,
int    style = editable|tabstop|notify|framed
 

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 }

NDK_XX::EditDate::EditDate Control   parent,
int    id,
const string &    msk,
int    lines,
int    cols,
int    y,
int    x,
int    style = editable|tabstop|notify|framed
 

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 }


Member Function Documentation

int NDK_XX::EditDate::edit int    key [protected, virtual]
 

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 }


Member Data Documentation

string NDK_XX::EditDate::mask [protected]
 

Definition at line 639 of file ndk++.h.

Referenced by edit(), EditDate(), and NDK_XX::Label::refresh_viewport().


The documentation for this class was generated from the following files:
Generated on Thu Oct 10 16:02:15 2002 by doxygen1.2.17