home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / df3os2.zip / EDITBOX.H < prev    next >
C/C++ Source or Header  |  1993-09-27  |  2KB  |  73 lines

  1. // -------- editbox.h 
  2.  
  3. #ifndef EDITBOX_H
  4. #define EDITBOX_H
  5.  
  6. #include "textbox.h"
  7.  
  8. class EditBox : public TextBox    {
  9.     void OpenWindow();
  10. protected:
  11.     int column;       // Current column
  12.     Bool changed;     // True if text has changed
  13.     Bool insertmode;
  14.     virtual void Home();
  15.     virtual void End();
  16.     virtual void NextWord();
  17.     virtual void PrevWord();
  18.     virtual void Forward();
  19.     virtual void Backward();
  20.     virtual void DeleteCharacter();
  21.     virtual void InsertCharacter(int key);
  22. public:
  23.     EditBox(const char *ttl, int lf, int tp, int ht, int wd, DFWindow *par=0)
  24.                         : TextBox(ttl, lf, tp, ht, wd, par)
  25.             { OpenWindow(); }
  26.     EditBox(const char *ttl, int ht, int wd, DFWindow *par=0)
  27.                         : TextBox(ttl, ht, wd, par)
  28.             { OpenWindow(); }
  29.     EditBox(int lf, int tp, int ht, int wd, DFWindow *par=0)
  30.                         : TextBox(lf, tp, ht, wd, par)
  31.             { OpenWindow(); }
  32.     EditBox(int ht, int wd, DFWindow *par=0) : TextBox(ht, wd, par)
  33.             { OpenWindow(); }
  34.     EditBox(const char *ttl)    : TextBox(ttl)
  35.             { OpenWindow(); }
  36.     // -------- API messages
  37.     virtual Bool SetFocus();
  38.     virtual void ResetFocus();
  39.     virtual void SetCursor(int x, int y);
  40.     virtual void ResetCursor();
  41.     virtual void SetCursorSize();
  42.     virtual unsigned char CurrentChar()
  43.             { return (*text)[column]; }
  44.     virtual unsigned CurrentCharPosition()
  45.             { return column; }
  46.     virtual Bool AtBufferStart()
  47.             { return (Bool) (column == 0); }
  48.     virtual void Keyboard(int key);
  49.     virtual void Move(int x, int y);
  50.     virtual void Paint();
  51.     virtual void PaintCurrentLine()
  52.             { Paint(); }
  53.     virtual void ClearText();
  54.     virtual void LeftButton(int mx, int my);
  55.     Bool Changed()
  56.             { return changed; }
  57.     void ClearChanged()
  58.             { changed = False; }
  59.     Bool InsertMode()
  60.             { return insertmode; }
  61.     void SetInsertMode(Bool imode)
  62.             { insertmode = imode; ResetCursor(); }
  63. };
  64.  
  65. inline Bool isWhite(int ch)
  66. {
  67.     return (Bool) (ch == ' ' || ch == '\n' || ch == '\t' || ch == '\r');
  68. }
  69.  
  70. #endif
  71.  
  72.  
  73.