Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
StaticDisplay Class Reference

#include <staticdisplay.h>

Inheritance diagram for StaticDisplay:
Control EventResponder TextInputDisplay

Public Member Functions

virtual void draw (void)
 
virtual std::string text (void)
 
virtual void setText (std::string t)
 
virtual Justification justification (void)
 
virtual void setJustification (Justification j)
 
virtual bool multiLine (void)
 
virtual void setMultiLine (bool multi)
 
virtual Size textMargins (void)
 
virtual void setTextMargins (const Size &s)
 
virtual void setScroller (Scroller *s)
 
virtual GFXColor textColor (void)
 
virtual void setTextColor (const GFXColor &c)
 
virtual Font font (void)
 
virtual void setFont (const Font &f)
 
virtual void setRect (const Rect &r)
 
virtual bool processMouseDown (const InputEvent &event)
 
virtual bool processCommand (const EventCommandId &command, Control *control)
 
 StaticDisplay (void)
 
virtual ~StaticDisplay (void)
 
- Public Member Functions inherited from Control
virtual Rect rect (void)
 
virtual bool hitTest (const Point &p)
 
virtual bool hidden (void)
 
virtual void setHidden (bool h=true)
 
virtual const std::string & id (void)
 
virtual void setId (const std::string &newId)
 
virtual GFXColor color (void)
 
virtual void setColor (const GFXColor &c)
 
virtual GFXColor outlineColor (void)
 
virtual void setOutlineColor (const GFXColor &c)
 
virtual bool hasGroupChildren (void)
 
 Control (void)
 
virtual ~Control (void)
 
- Public Member Functions inherited from EventResponder
virtual bool processKeyDown (const InputEvent &event)
 
virtual bool processKeyUp (const InputEvent &event)
 
virtual void processUnfocus (const InputEvent &event)
 
virtual bool processMouseUp (const InputEvent &event)
 
virtual bool processMouseMove (const InputEvent &event)
 
virtual bool processMouseDrag (const InputEvent &event)
 
virtual void sendCommand (const EventCommandId &command, Control *control)
 
virtual void setCommandTarget (EventResponder *responder)
 
virtual void setModal (bool modal)
 
 EventResponder (void)
 
virtual ~EventResponder (void)
 

Protected Member Functions

void setPaintTextRect (void)
 
- Protected Member Functions inherited from Control
virtual void drawBackground (void)
 

Protected Attributes

PaintText m_paintText
 
Size m_textMargins
 
int m_scrollPosition
 
int m_layoutVersion
 
Scrollerm_scroller
 
- Protected Attributes inherited from Control
Rect m_rect
 
std::string m_id
 
GFXColor m_color
 
GFXColor m_outlineColor
 
GFXColor m_textColor
 
Font m_font
 
bool m_hidden
 
- Protected Attributes inherited from EventResponder
bool m_modal
 
EventResponderm_commandTarget
 

Detailed Description

Definition at line 39 of file staticdisplay.h.

Constructor & Destructor Documentation

StaticDisplay::StaticDisplay ( void  )

Definition at line 112 of file staticdisplay.cpp.

112  :
113  m_textMargins( Size( 0.0, 0.0 ) )
114  , m_scrollPosition( 0 )
116  , m_scroller( NULL )
117 {}
virtual StaticDisplay::~StaticDisplay ( void  )
inlinevirtual

Definition at line 118 of file staticdisplay.h.

118 {}

Member Function Documentation

void StaticDisplay::draw ( void  )
virtual

Implements Control.

Reimplemented in TextInputDisplay.

Definition at line 60 of file staticdisplay.cpp.

References Control::drawBackground(), PaintText::drawLines(), Size::height, PaintText::layoutVersion(), PaintText::lineCount(), m_layoutVersion, m_paintText, Control::m_rect, m_scroller, m_scrollPosition, Scroller::setRangeValues(), Scroller::setScrollPosition(), Rect::size, and PaintText::visibleLineCountStartingWith().

Referenced by TextInputDisplay::draw().

61 {
62  //Draw the background.
64  //If we have a scroller and the layout has changed, need to reset the scroller.
66  const int lineCount = m_paintText.lineCount();
68  m_scroller->setRangeValues( lineCount-1, visible );
69  if (m_scrollPosition > lineCount-2 && lineCount > visible)
70  m_scrollPosition = lineCount-1;
72  m_layoutVersion = m_paintText.layoutVersion(); //Remember layout version for next time.
73  }
75 }
virtual Font StaticDisplay::font ( void  )
inlinevirtual

Reimplemented from Control.

Definition at line 98 of file staticdisplay.h.

References PaintText::font(), and m_paintText.

99  {
100  return m_paintText.font();
101  }
virtual Justification StaticDisplay::justification ( void  )
inlinevirtual

Definition at line 56 of file staticdisplay.h.

References PaintText::justification(), and m_paintText.

57  {
58  return m_paintText.justification();
59  }
virtual bool StaticDisplay::multiLine ( void  )
inlinevirtual

Definition at line 66 of file staticdisplay.h.

References m_paintText, PaintText::MULTI_LINE, and PaintText::widthExceeded().

67  {
69  }
bool StaticDisplay::processCommand ( const EventCommandId command,
Control control 
)
virtual

Reimplemented from EventResponder.

Definition at line 85 of file staticdisplay.cpp.

References m_scroller, m_scrollPosition, EventResponder::processCommand(), and Scroller::scrollPosition().

86 {
87  if (command == "Scroller::PositionChanged") {
88  assert( control == m_scroller );
90  return true;
91  }
92  return Control::processCommand( command, control );
93 }
bool StaticDisplay::processMouseDown ( const InputEvent event)
virtual

Reimplemented from EventResponder.

Reimplemented in TextInputDisplay.

Definition at line 96 of file staticdisplay.cpp.

References InputEvent::code, VegaConfig::getVariable(), Control::hitTest(), InputEvent::loc, m_scroller, XMLSupport::parse_int(), EventResponder::processMouseDown(), Scroller::scrollPosition(), Scroller::setScrollPosition(), vs_config, WHEELDOWN_MOUSE_BUTTON, and WHEELUP_MOUSE_BUTTON.

Referenced by TextInputDisplay::processMouseDown().

97 {
98  static int zoominc = XMLSupport::parse_int( vs_config->getVariable( "general", "wheel_increment_lines", "3" ) );
99  if (m_scroller) {
100  if (event.code == WHEELUP_MOUSE_BUTTON) {
101  if ( hitTest( event.loc ) )
103  } else if (event.code == WHEELDOWN_MOUSE_BUTTON) {
104  if ( hitTest( event.loc ) )
106  }
107  }
108  return Control::processMouseDown( event );
109 }
virtual void StaticDisplay::setJustification ( Justification  j)
inlinevirtual
void StaticDisplay::setPaintTextRect ( void  )
protected

Definition at line 39 of file staticdisplay.cpp.

References Rect::copyAndInset(), m_paintText, Control::m_rect, m_textMargins, and PaintText::setRect().

Referenced by setRect(), and setTextMargins().

40 {
41  const Rect textRect = m_rect.copyAndInset( m_textMargins );
42  m_paintText.setRect( textRect );
43 }
void StaticDisplay::setScroller ( Scroller s)
virtual

Definition at line 78 of file staticdisplay.cpp.

References m_scroller, and EventResponder::setCommandTarget().

Referenced by NavComputer::constructControls(), and BaseComputer::constructControls().

79 {
80  m_scroller = s;
81  s->setCommandTarget( this );
82 }
void StaticDisplay::setTextMargins ( const Size s)
virtual
virtual GFXColor StaticDisplay::textColor ( void  )
inlinevirtual

Reimplemented from Control.

Definition at line 88 of file staticdisplay.h.

References PaintText::color(), and m_paintText.

89  {
90  return m_paintText.color();
91  }
virtual Size StaticDisplay::textMargins ( void  )
inlinevirtual

Definition at line 76 of file staticdisplay.h.

References m_textMargins.

77  {
78  return m_textMargins;
79  }

Member Data Documentation

int StaticDisplay::m_layoutVersion
protected

Definition at line 131 of file staticdisplay.h.

Referenced by draw().

PaintText StaticDisplay::m_paintText
protected
Scroller* StaticDisplay::m_scroller
protected

Definition at line 132 of file staticdisplay.h.

Referenced by draw(), processCommand(), processMouseDown(), and setScroller().

int StaticDisplay::m_scrollPosition
protected

Definition at line 130 of file staticdisplay.h.

Referenced by draw(), and processCommand().

Size StaticDisplay::m_textMargins
protected

Definition at line 129 of file staticdisplay.h.

Referenced by setPaintTextRect(), setTextMargins(), and textMargins().


The documentation for this class was generated from the following files: