osxtexteditpeer.h
来自「这是VCF框架的代码」· C头文件 代码 · 共 190 行
H
190 行
#ifndef _VCF_OSXTEXTEDITPEER_H__#define _VCF_OSXTEXTEDITPEER_H__//OSXTextEditPeer.h///*Copyright 2000-2004 The VCF Project.Please see License.txt in the top level directorywhere you installed the VCF.*/#include "vcf/ApplicationKit/OSXTextPeer.h"namespace VCF{class TextEvent;class OSXTextEditPeer : public OSXControl, public TextEditPeer, public OSXTextPeer {public: enum EditState { esMultiLined = 0x0001, esStyleChanging = 0x0010, esPeerTextChanging = 0x0100, esModelTextChanging = 0x0200, esExternalTextChanging = 0x0400, /* means something like undo/redo/cut/paste */ esKeyEvent = 0x1000 }; OSXTextEditPeer( TextControl* component, const bool& isMultiLineControl ); virtual ~OSXTextEditPeer(); virtual void create( Control* owningControl ); virtual void setText( const VCF::String& text ); virtual VCF::String getText(); virtual void repaint( Rect* repaintRect=NULL ); virtual OSStatus handleOSXEvent( EventHandlerCallRef nextHandler, EventRef theEvent ); //TextPeer interface virtual OSHandleID getTextObjectHandle(); //storage 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 ); //display 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 unsigned long getLineCount(); virtual Rect getContentBoundsForWidth(const double& width); virtual void setStyle( unsigned int start, unsigned int length, Dictionary& styles ); virtual void getStyle( unsigned int start, unsigned int length, Dictionary& styles, Color& color ); virtual void setDefaultStyle( Dictionary& styles ); virtual Point* getPositionFromCharIndex( const unsigned long& index ); virtual unsigned long getCharIndexFromPosition( Point* point ); virtual unsigned long getCaretPosition(); virtual void setCaretPosition( const unsigned long& caretPos ); virtual unsigned long getCurrentLinePosition(); virtual unsigned long getSelectionStart(); virtual unsigned long getSelectionCount(); virtual void setSelectionMark( const unsigned long& start, const unsigned long& count ); virtual void clearSelection(); virtual void scrollToLine( const ulong32& lineIndex ); virtual void scrollToSelection( const bool& _showEndSel = false ); virtual void setReadOnly( const bool& readonly ); virtual void print( PrintContext* context, const long& page ); virtual void finishPrinting(); virtual ulong32 getTotalPrintablePageCount( PrintContext* context ); virtual void cut(); virtual void copy(); virtual void paste(); virtual bool canUndo(); virtual bool canRedo(); virtual void undo(); virtual void redo(); virtual void setTextWrapping( const bool& val );protected: TextControl* textControl_; int editState_; VCF::Point ptAtCharPos_; bool stateAllowsModelChange(); void onTextModelTextChanged( TextEvent* event ); void onTextControlFontChanged( Event* event ); void onControlModelChanged( Event* e ); static uint32 convertCharToVKCode( VCFChar ch ); };}; // namespace VCF/***CVS Log info*$Log$*Revision 1.3 2006/04/07 02:35:24 ddiego*initial checkin of merge from 0.6.9 dev branch.**Revision 1.2.2.1 2006/02/26 23:44:10 ddiego*minor updates to sync osx version with latest cvs. added xcode proj for Themes example.**Revision 1.2 2005/07/09 23:14:55 ddiego*merging in changes from devmain-0-6-7 branch.**Revision 1.1.2.1 2005/06/27 03:28:54 ddiego*more osx work.**/#endif // _VCF_OSXTEXTEDITPEER_H__
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?