Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

VCF::OSXTextEditPeer Class Reference

#include <OSXTextEditPeer.h>

Inheritance diagram for VCF::OSXTextEditPeer:

VCF::OSXControl VCF::TextEditPeer VCF::OSXTextPeer VCF::ObjectWithEvents VCF::ControlPeer VCF::TextPeer VCF::TextPeer VCF::Object VCF::Interface VCF::Interface VCF::Interface List of all members.

Public Types

enum  EditState {
  esMultiLined = 0x0001, esStyleChanging = 0x0010, esPeerTextChanging = 0x0100, esModelTextChanging = 0x0200,
  esExternalTextChanging = 0x0400, esKeyEvent = 0x1000
}

Public Member Functions

 OSXTextEditPeer (TextControl *component, const bool &isMultiLineControl)
virtual ~OSXTextEditPeer ()
virtual void create (Control *owningControl)
 This is called to actually create any neccessary windowing system resources specific to a new control (or widget/window/etc) instance for the platform.
virtual void setText (const VCF::String &text)
 sets the text for the control
virtual VCF::String getText ()
 returns a text associated with the component.
virtual void repaint (Rect *repaintRect=NULL)
virtual OSStatus handleOSXEvent (EventHandlerCallRef nextHandler, EventRef theEvent)
virtual OSHandleID getTextObjectHandle ()
 Return the native text object handle.
virtual void insertText (unsigned int start, const String &text)
virtual void deleteText (unsigned int start, unsigned int length)
virtual unsigned int getTextLength ()
virtual String getText (unsigned int start, unsigned int length)
virtual void paint (GraphicsContext *context, const Rect &paintRect)
virtual void setRightMargin (const double &rightMargin)
virtual void setLeftMargin (const double &leftMargin)
virtual void setTopMargin (const double &topMargin)
virtual void setBottomMargin (const double &bottomMargin)
virtual double getLeftMargin ()
virtual double getRightMargin ()
virtual double getTopMargin ()
virtual double getBottomMargin ()
virtual uint32 getLineCount ()
virtual Rect getContentBoundsForWidth (const double &width)
virtual void setStyle (unsigned int start, unsigned int length, Dictionary &styles)
 This sets the style for the text.
virtual void getStyle (unsigned int start, unsigned int length, Dictionary &styles)
 gets the current style of the text.
virtual void setDefaultStyle (Dictionary &styles)
 call this to set the defaults for the text peer.
virtual PointgetPositionFromCharIndex (const uint32 &index)
virtual uint32 getCharIndexFromPosition (Point *point)
virtual uint32 getCaretPosition ()
 returns the current caret position with in the text control this is specified by a zero based number representing the insertion point with the text control's text (stored in the text control's Model).
virtual void setCaretPosition (const uint32 &caretPos)
virtual uint32 getCurrentLinePosition ()
virtual uint32 getSelectionStart ()
 returns the zero based index that indicates where the current selection begins may be the same index that getCaretPosition() returns
virtual uint32 getSelectionCount ()
 returns the number of characters selected
virtual void setSelectionMark (const uint32 &start, const uint32 &count)
virtual void clearSelection ()
virtual void scrollToLine (const uint32 &lineIndex)
virtual void scrollToSelection (const bool &_showEndSel=false)
virtual void setReadOnly (const bool &readonly)
virtual void print (PrintContext *context, const int32 &page)
 This attempts to print a single page and render in to the printer context that's passed in.
virtual void finishPrinting ()
virtual uint32 getTotalPrintablePageCount (PrintContext *context)
virtual void cut ()
 Cuts the selection and places it in the clipboard.
virtual void copy ()
 Copies the selection and places it in the clipboard.
virtual void paste ()
 Pastes the contents of the clipboard into the text control.
virtual bool canUndo ()
 Returns a bool to indicate whether or not an undo operation can be performed.
virtual bool canRedo ()
 Returns a bool to indicate whether or not a redo operation can be performed.
virtual void undo ()
 Undoes the last operation.
virtual void redo ()
 Redoes the last operation.
virtual void setTextWrapping (const bool &val)

Protected Member Functions

bool stateAllowsModelChange ()
void onTextModelTextChanged (TextEvent *event)
void onTextControlFontChanged (Event *event)
void onControlModelChanged (Event *e)

Static Protected Member Functions

static uint32 convertCharToVKCode (VCFChar ch)

Protected Attributes

TextControltextControl_
int editState_
VCF::Point ptAtCharPos_

Member Enumeration Documentation

enum VCF::OSXTextEditPeer::EditState
 

Enumerator:
esMultiLined 
esStyleChanging 
esPeerTextChanging 
esModelTextChanging 
esExternalTextChanging 
esKeyEvent 


Constructor & Destructor Documentation

VCF::OSXTextEditPeer::OSXTextEditPeer TextControl component,
const bool &  isMultiLineControl
 

virtual VCF::OSXTextEditPeer::~OSXTextEditPeer  )  [virtual]
 


Member Function Documentation

virtual bool VCF::OSXTextEditPeer::canRedo  )  [virtual]
 

Returns a bool to indicate whether or not a redo operation can be performed.

Returns:
bool true if an a redo operation can be performed. This indicates that a call to redo() will succeed. Returns false to indicate no redo is possible and any calls to redo() will be no-ops.

Implements VCF::TextEditPeer.

virtual bool VCF::OSXTextEditPeer::canUndo  )  [virtual]
 

Returns a bool to indicate whether or not an undo operation can be performed.

Returns:
bool true if an an undo operation can be performed. This indicates that a call to undo() will succeed. Returns false to indicate no undo is possible and any calls to undo() will be no-ops.

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::clearSelection  )  [virtual]
 

Implements VCF::TextEditPeer.

static uint32 VCF::OSXTextEditPeer::convertCharToVKCode VCFChar  ch  )  [static, protected]
 

virtual void VCF::OSXTextEditPeer::copy  )  [virtual]
 

Copies the selection and places it in the clipboard.

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::create Control owningControl  )  [virtual]
 

This is called to actually create any neccessary windowing system resources specific to a new control (or widget/window/etc) instance for the platform.

create() must be called by the containing VCF::Control subclass, typically in the classes constructor, after retreiving the new peer instance from the appropriate UIToolkit::createXXX() call.

Reimplemented from VCF::OSXControl.

virtual void VCF::OSXTextEditPeer::cut  )  [virtual]
 

Cuts the selection and places it in the clipboard.

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::deleteText unsigned int  start,
unsigned int  length
[virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual void VCF::OSXTextEditPeer::finishPrinting  )  [virtual]
 

Implements VCF::TextEditPeer.

virtual double VCF::OSXTextEditPeer::getBottomMargin  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual uint32 VCF::OSXTextEditPeer::getCaretPosition  )  [virtual]
 

returns the current caret position with in the text control this is specified by a zero based number representing the insertion point with the text control's text (stored in the text control's Model).

Returns:
uint32 the index of the current insertion point in the Model's text

Implements VCF::TextEditPeer.

virtual uint32 VCF::OSXTextEditPeer::getCharIndexFromPosition Point point  )  [virtual]
 

Implements VCF::TextEditPeer.

virtual Rect VCF::OSXTextEditPeer::getContentBoundsForWidth const double &  width  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual uint32 VCF::OSXTextEditPeer::getCurrentLinePosition  )  [virtual]
 

Implements VCF::TextEditPeer.

virtual double VCF::OSXTextEditPeer::getLeftMargin  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual uint32 VCF::OSXTextEditPeer::getLineCount  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual Point* VCF::OSXTextEditPeer::getPositionFromCharIndex const uint32 index  )  [virtual]
 

Implements VCF::TextEditPeer.

virtual double VCF::OSXTextEditPeer::getRightMargin  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual uint32 VCF::OSXTextEditPeer::getSelectionCount  )  [virtual]
 

returns the number of characters selected

Returns:
uint32 the number of characters selected, a return value of 0 indicates that no characters are currently selected

Implements VCF::TextEditPeer.

virtual uint32 VCF::OSXTextEditPeer::getSelectionStart  )  [virtual]
 

returns the zero based index that indicates where the current selection begins may be the same index that getCaretPosition() returns

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::getStyle unsigned int  start,
unsigned int  length,
Dictionary styles
[virtual]
 

gets the current style of the text.

Parameters:
unsigned int start the beginning of the location of which we are getting the style.
unsigned int length the length of the location of which we are getting the style.
Dictionary& styles the dictionary storing the values for each style attribute.

Reimplemented from VCF::OSXTextPeer.

virtual String VCF::OSXTextEditPeer::getText unsigned int  start,
unsigned int  length
[virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual VCF::String VCF::OSXTextEditPeer::getText  )  [virtual]
 

returns a text associated with the component.

This usually gets used in the Control::getCaption() method.

Reimplemented from VCF::OSXControl.

virtual unsigned int VCF::OSXTextEditPeer::getTextLength  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual OSHandleID VCF::OSXTextEditPeer::getTextObjectHandle  )  [virtual]
 

Return the native text object handle.

For Win32 systems this will be an IUnknown interface that may be queried for either ITextServices or ITextDocument. For OSX this will be a TXNObject instance.

Reimplemented from VCF::OSXTextPeer.

virtual double VCF::OSXTextEditPeer::getTopMargin  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual uint32 VCF::OSXTextEditPeer::getTotalPrintablePageCount PrintContext context  )  [virtual]
 

Implements VCF::TextEditPeer.

virtual OSStatus VCF::OSXTextEditPeer::handleOSXEvent EventHandlerCallRef  nextHandler,
EventRef  theEvent
[virtual]
 

Reimplemented from VCF::OSXControl.

virtual void VCF::OSXTextEditPeer::insertText unsigned int  start,
const String text
[virtual]
 

Reimplemented from VCF::OSXTextPeer.

void VCF::OSXTextEditPeer::onControlModelChanged Event e  )  [protected]
 

void VCF::OSXTextEditPeer::onTextControlFontChanged Event event  )  [protected]
 

void VCF::OSXTextEditPeer::onTextModelTextChanged TextEvent event  )  [protected]
 

virtual void VCF::OSXTextEditPeer::paint GraphicsContext context,
const Rect paintRect
[virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual void VCF::OSXTextEditPeer::paste  )  [virtual]
 

Pastes the contents of the clipboard into the text control.

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::print PrintContext context,
const int32 page
[virtual]
 

This attempts to print a single page and render in to the printer context that's passed in.

Note that some platforms may not support this, as printing support varies widely. It will work on Win32, and should work on Mac OS X as well.

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::redo  )  [virtual]
 

Redoes the last operation.

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::repaint Rect repaintRect = NULL  )  [virtual]
 

virtual void VCF::OSXTextEditPeer::scrollToLine const uint32 lineIndex  )  [virtual]
 

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::scrollToSelection const bool &  _showEndSel = false  )  [virtual]
 

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::setBottomMargin const double &  bottomMargin  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual void VCF::OSXTextEditPeer::setCaretPosition const uint32 caretPos  )  [virtual]
 

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::setDefaultStyle Dictionary styles  )  [virtual]
 

call this to set the defaults for the text peer.

If this is not called, then the default font is that used for label controls and the defaul paragraph alignment is left aligned.

Reimplemented from VCF::OSXTextPeer.

virtual void VCF::OSXTextEditPeer::setLeftMargin const double &  leftMargin  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual void VCF::OSXTextEditPeer::setReadOnly const bool &  readonly  )  [virtual]
 

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::setRightMargin const double &  rightMargin  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

virtual void VCF::OSXTextEditPeer::setSelectionMark const uint32 start,
const uint32 count
[virtual]
 

Parameters:
uint32 the starting point. The index is zero based.
uint32 the number of characters selected.

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::setStyle unsigned int  start,
unsigned int  length,
Dictionary styles
[virtual]
 

This sets the style for the text.

Pass in a Dictionary with a set of values for each style attribute. Example:

TextPeer* textPeer = ....

Dictionary styles; style [Text::fsFontName] = "Arial"; style [Text::fsPointSize] = 15.0; style [Text::fsBold] = true;

textPeer->setStyle( 5, 10, styles );

this changes the font at position 5, for a length of 10, to be "arial", bold and a point size of 15.

Reimplemented from VCF::OSXTextPeer.

virtual void VCF::OSXTextEditPeer::setText const VCF::String text  )  [virtual]
 

sets the text for the control

Reimplemented from VCF::OSXControl.

virtual void VCF::OSXTextEditPeer::setTextWrapping const bool &  val  )  [virtual]
 

Implements VCF::TextEditPeer.

virtual void VCF::OSXTextEditPeer::setTopMargin const double &  topMargin  )  [virtual]
 

Reimplemented from VCF::OSXTextPeer.

bool VCF::OSXTextEditPeer::stateAllowsModelChange  )  [protected]
 

virtual void VCF::OSXTextEditPeer::undo  )  [virtual]
 

Undoes the last operation.

Implements VCF::TextEditPeer.


Member Data Documentation

int VCF::OSXTextEditPeer::editState_ [protected]
 

VCF::Point VCF::OSXTextEditPeer::ptAtCharPos_ [protected]
 

TextControl* VCF::OSXTextEditPeer::textControl_ [protected]
 


The documentation for this class was generated from the following file:
   Comments or Suggestions?    License Information