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

NDK_XX::NDKDlgLabel Class Reference

#include <ndk++.h>

Inheritance diagram for NDK_XX::NDKDlgLabel:

NDK_XX::NDKDlgControl NDK_XX::NDKDlgButton NDK_XX::NDKDlgEdit NDK_XX::NDKStatusBar NDK_XX::NDKDlgListItem NDK_XX::NDKDlgPushButton NDK_XX::NDKDlgCheckButton NDK_XX::NDKDlgRadioButton List of all members.

Public Methods

 NDKDlgLabel (NDKDlgControl *parent, int id, const string &title,int lines, int cols, int y, int x,int style=tabstop|notify)
 NDKDlgLabel (int id, const string &title,int lines, int cols, int y, int x,int style=tabstop|notify)
 ~NDKDlgLabel ()
void set_text (const string &txt)
 Usualy, a control in a dialog has some kind of text on it...

string get_text () const
void activate ()
 Maybe these should change to set_focus/unset_focus.

void deactivate ()
virtual void clear_text (bool ref=false)
chtype operator[] (int pos) const
 Useful for scrolling labels in lists.

int visible_size () const
int max_len () const

Protected Methods

int driver (int key)

Protected Attributes

string text
int pos_x
 Hack to manage framed/unframed windows.

int pos_y
 Hack to manage framed/unframed windows.

NCursesWindow * viewport
int cur_x
 cursor situation

int cur_y
 cursor situation

int x_start
 first visible char


Constructor & Destructor Documentation

NDK_XX::NDKDlgLabel::NDKDlgLabel NDKDlgControl   parent,
int    id,
const string &    title,
int    lines,
int    cols,
int    y,
int    x,
int    style = tabstop|notify
 

Definition at line 397 of file ndk++.cc.

References NDK_XX::NDKDlgControl::has_frame(), NDK_XX::NDKDlgControl::on_initial_update, pos_x, pos_y, set_text(), and viewport.

Referenced by NDK_XX::BINDING::BINDING().

00401     : NDKDlgControl(parent,id,lines,cols,y,x,style)
00402         ,text(title)
00403         ,pos_x(0),pos_y(0)
00404         ,viewport(this)
00405         ,cur_x(0),cur_y(0),x_start(0)
00406 {
00407     on_initial_update=true;
00408     if(has_frame()){
00409         viewport = new NCursesWindow(*this);
00410         pos_x++; 
00411         pos_y++; 
00412     }
00413     set_text(title);
00414     on_initial_update=false;
00415 }

NDK_XX::NDKDlgLabel::NDKDlgLabel int    id,
const string &    title,
int    lines,
int    cols,
int    y,
int    x,
int    style = tabstop|notify
 

Definition at line 419 of file ndk++.cc.

References NDK_XX::NDKDlgControl::has_frame(), NDK_XX::NDKDlgControl::on_initial_update, pos_x, pos_y, set_text(), and viewport.

00422     : NDKDlgControl(id,lines,cols,y,x,style)
00423         ,text(title)
00424         ,pos_x(0),pos_y(0)
00425         ,viewport(this)
00426         ,cur_x(0),cur_y(0)
00427 {
00428     on_initial_update=true;
00429     if(has_frame()){
00430         viewport = new NCursesWindow(*this);
00431         pos_x++; 
00432         pos_y++; 
00433     }
00434     set_text(title);
00435     on_initial_update=false;
00436 }

NDK_XX::NDKDlgLabel::~NDKDlgLabel   [inline]
 

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

00599 { 


Member Function Documentation

void NDK_XX::NDKDlgLabel::activate   [virtual]
 

Maybe these should change to set_focus/unset_focus.

Reimplemented from NDK_XX::NDKDlgControl.

Reimplemented in NDK_XX::NDKDlgButton.

Definition at line 472 of file ndk++.cc.

References cur_x, cur_y, NDK_XX::NDKDlgControl::has_frame(), text, and viewport.

00473 {
00474     NDKDlgControl::activate();
00475     if(!has_frame()){
00476         viewport->addch(cur_y,cur_x,text[0]|A_BOLD|A_UNDERLINE);
00477         viewport->move(cur_y,cur_x);
00478         viewport->cursyncup();
00479         viewport->refresh();
00480     }
00481 }

void NDK_XX::NDKDlgLabel::clear_text bool    ref = false [virtual]
 

Definition at line 498 of file ndk++.cc.

References cur_x, cur_y, and viewport.

Referenced by NDK_XX::NDKDlgListItem::set_text(), and set_text().

00499 {
00500     for(cur_x=viewport->maxx();cur_x; cur_x--){
00501         viewport->addch(cur_y,cur_x,getbkgd());
00502     }
00503     viewport->addch(cur_y,cur_x,getbkgd());
00504 }

void NDK_XX::NDKDlgLabel::deactivate   [virtual]
 

Reimplemented from NDK_XX::NDKDlgControl.

Reimplemented in NDK_XX::NDKDlgButton.

Definition at line 485 of file ndk++.cc.

References cur_x, cur_y, NDK_XX::NDKDlgControl::has_frame(), text, and viewport.

00486 {
00487     NDKDlgControl::deactivate();
00488     if(!has_frame()){
00489         viewport->addch(cur_y,cur_x,text[0]);
00490         viewport->move(cur_y,cur_x);
00491         viewport->cursyncup();
00492         viewport->refresh();
00493     }
00494 }

int NDK_XX::NDKDlgLabel::driver int    key [protected, virtual]
 

get a chance at processing the key, before parent does

Reimplemented from NDK_XX::NDKDlgControl.

Reimplemented in NDK_XX::NDKDlgEdit, NDK_XX::NDKDlgButton, and NDK_XX::NDKDlgListItem.

Definition at line 458 of file ndk++.cc.

References NDK_XX::NDKDlgControl::mvwin().

00459 {
00460     switch(key) {
00461         case KEY_UP:    mvwin(-1,0);    return TRUE;
00462         case KEY_DOWN:  mvwin(1,0);     return TRUE;
00463         case KEY_LEFT:  mvwin(0,-1);    return TRUE;
00464         case KEY_RIGHT: mvwin(0,1);     return TRUE;
00465         default:                    break;
00466     }
00467     return FALSE;
00468 }

string NDK_XX::NDKDlgLabel::get_text   const [inline, virtual]
 

Implements NDK_XX::NDKDlgControl.

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

References NDK_XX::NDKDlgControl::pParent.

00599 { 

int NDK_XX::NDKDlgLabel::max_len   const [inline]
 

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

Referenced by NDK_XX::NDKDlgEdit::insert_char(), NDK_XX::NDKDlgPushButton::set_text(), and set_text().

00618 {

chtype NDK_XX::NDKDlgLabel::operator[] int    pos const [inline]
 

Useful for scrolling labels in lists.

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

00611 {
00612 public:
00613     NDKDlgListItemData( const string &txt,int id=-1
00614                         ,int style=NDKDlgControl::tabstop|NDKDlgControl::notify
00615                         ,int state=0,void *data=0)

void NDK_XX::NDKDlgLabel::set_text const string &    txt [virtual]
 

Usualy, a control in a dialog has some kind of text on it...

Implements NDK_XX::NDKDlgControl.

Reimplemented in NDK_XX::NDKDlgPushButton, and NDK_XX::NDKDlgListItem.

Definition at line 440 of file ndk++.cc.

References clear_text(), cur_x, cur_y, NDK_XX::NDKDlgControl::get_ctrl_id(), max_len(), NDK_XX::NDKDlgControl::notify_enabled(), NDK_XX::NDKDlgControl::pParent, NDK_XX::NDKDlgControl::process_message(), text, TXT_CHANGED, and viewport.

Referenced by NDK_XX::NDKDlgButton::activate(), NDK_XX::NDKDlgButton::deactivate(), and NDKDlgLabel().

00441 {
00442     string old_text= text;
00443     text = v;
00444 
00445     clear_text();
00446     viewport->addstr(cur_y,cur_x, text.c_str(), max_len());
00447     viewport->move(cur_y,cur_x);
00448     viewport->cursyncup();
00449     viewport->refresh();
00450     
00451     if(old_text!=text && notify_enabled()){
00452         process_message(pParent,TXT_CHANGED,get_ctrl_id(),0);
00453     }
00454 }

int NDK_XX::NDKDlgLabel::visible_size   const [inline]
 

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

References NDK_XX::NDKDlgListItemData::ctrl_id, NDK_XX::NDKDlgListItemData::field_state, NDK_XX::NDKDlgListItemData::field_style, NDK_XX::NDKDlgListItemData::text, and NDK_XX::NDKDlgListItemData::user_data.

Referenced by NDK_XX::NDKDlgEdit::edit().

00616 :text(txt),ctrl_id(id),field_style(style)


Member Data Documentation

int NDK_XX::NDKDlgLabel::cur_x [protected]
 

cursor situation

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

Referenced by activate(), NDK_XX::NDKDlgEdit::add_char(), NDK_XX::NDKDlgEdit::add_or_insert_char(), clear_text(), deactivate(), NDK_XX::NDKDlgEdit::edit(), NDK_XX::NDKDlgEdit::insert_char(), and set_text().

int NDK_XX::NDKDlgLabel::cur_y [protected]
 

cursor situation

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

Referenced by activate(), NDK_XX::NDKDlgEdit::add_char(), NDK_XX::NDKDlgEdit::add_or_insert_char(), clear_text(), deactivate(), NDK_XX::NDKDlgEdit::edit(), NDK_XX::NDKDlgEdit::insert_char(), and set_text().

int NDK_XX::NDKDlgLabel::pos_x [protected]
 

Hack to manage framed/unframed windows.

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

Referenced by NDKDlgLabel(), and NDK_XX::NDKDlgPushButton::set_text().

int NDK_XX::NDKDlgLabel::pos_y [protected]
 

Hack to manage framed/unframed windows.

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

Referenced by NDKDlgLabel(), and NDK_XX::NDKDlgListItem::set_text().

string NDK_XX::NDKDlgLabel::text [protected]
 

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

Referenced by NDK_XX::NDKDlgPushButton::action(), NDK_XX::NDKDlgButton::activate(), activate(), NDK_XX::NDKDlgEdit::add_char(), NDK_XX::NDKDlgButton::deactivate(), deactivate(), NDK_XX::NDKDlgEdit::edit(), NDK_XX::NDKDialogBox::end_dialog(), NDK_XX::NDKDlgListItemData::get_state(), NDK_XX::NDKDlgEdit::insert_char(), NDK_XX::NDKDlgCheckButton::NDKDlgCheckButton(), NDK_XX::NDKDlgPushButton::NDKDlgPushButton(), NDK_XX::NDKDlgRadioButton::NDKDlgRadioButton(), NDK_XX::NDKDialogBox::on_dlg_cancel(), NDK_XX::NDKDlgListItem::set_text(), NDK_XX::NDKDlgPushButton::set_text(), and set_text().

NCursesWindow* NDK_XX::NDKDlgLabel::viewport [protected]
 

Edition viewport. When not framed, viewport = window;

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

Referenced by activate(), NDK_XX::NDKDlgEdit::add_char(), NDK_XX::NDKDlgEdit::add_or_insert_char(), clear_text(), deactivate(), NDK_XX::NDKDlgEdit::edit(), NDK_XX::NDKDlgEdit::insert_char(), NDKDlgLabel(), set_text(), and NDK_XX::NDKDlgEdit::~NDKDlgEdit().

int NDK_XX::NDKDlgLabel::x_start [protected]
 

first visible char

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


The documentation for this class was generated from the following files:
Generated on Tue Aug 27 10:49:46 2002 by doxygen1.2.17