Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

TextEditLineScroller.h

Go to the documentation of this file.
00001 /*
00002 12345678901234567890123456789012345678901234567890123456789012345678901234567890
00003 */
00004 #ifndef OglGui_TextEditLineScroller_h
00005 #define OglGui_TextEditLineScroller_h
00006 
00007 #ifndef OglGui_TextEdit_h
00008 #include "OglGui/TextEdit.h"
00009 #endif
00010 
00011 namespace OglGui
00012 {
00013 
00014 class TextEditLineScroller : public ScrollBar, ScrollBarListener
00015 {
00016 public:
00017     TextEditLineScroller(Window* parent, int w, int h, strconst text=""):
00018         ScrollBar(parent, w, h, true)
00019     {
00020         Init(text, w, h);
00021     }
00022 
00023     TextEditLineScroller(Window* parent, int x, int y, int w, int h,
00024                          strconst text=""):
00025         ScrollBar(parent, x, y, w, h, true)
00026     {
00027         Init(text, w, h);
00028     }
00029 
00030     TextEdit*   TextEditor()
00031     {
00032         return mTextEdit;
00033     }
00034 
00035     virtual void OnScroll(ScrollBar *src, int position, void* userData)
00036     {
00037         mTextEdit->DocX(-position);
00038     }
00039 
00040     virtual void DisplayFunc()
00041     {
00042         int totalRange = mTextEdit->ComputeMaxWidth() + 16;
00043         if (totalRange < mTextEdit->W() + 16)
00044             totalRange = mTextEdit->W() + 16;
00045         SetNewPos(-mTextEdit->DocX());
00046         SetRange(totalRange - mTextEdit->W() + 16, 16);
00047         mButThumb->SetVisible(false);
00048         ScrollBar::DisplayFunc();
00049     }
00050 
00051 private:
00052     void Init(strconst txt, int w, int h)
00053     {
00054         mTextEdit = new TextEdit(this, 16, 0, w-32, h, txt, 0);
00055         mTextEdit->SetBorderType(BEV_NONE);
00056         mTextEdit->SingleLine(true);
00057         mTextEdit->ConnectTo(this);
00058         mTextEdit->DocX(0);
00059         SetLineIncrement(16);
00060         SetScrollBarListener(this);
00061         MapKeysTo(mTextEdit);
00062         SetAllowChildScaling(false);
00063     }
00064 
00065     TextEdit*   mTextEdit;
00066 };
00067 
00068 } // namespace OglGui
00069 
00070 #endif

Generated on Fri Mar 19 09:31:39 2010 for ImpalaSrc by  doxygen 1.5.1