#include "wx/ffile.h"
+extern WXDLLEXPORT_DATA(const char) wxTextCtrlNameStr[] = "text";
+
// ----------------------------------------------------------------------------
// macros
// ----------------------------------------------------------------------------
{
Init();
- if (m_colText.Ok()) m_flags |= wxTEXT_ATTR_TEXT_COLOUR;
- if (m_colBack.Ok()) m_flags |= wxTEXT_ATTR_BACKGROUND_COLOUR;
+ if (m_colText.IsOk()) m_flags |= wxTEXT_ATTR_TEXT_COLOUR;
+ if (m_colBack.IsOk()) m_flags |= wxTEXT_ATTR_BACKGROUND_COLOUR;
if (alignment != wxTEXT_ALIGNMENT_DEFAULT)
m_flags |= wxTEXT_ATTR_ALIGNMENT;
// Get attributes from font.
bool wxTextAttr::GetFontAttributes(const wxFont& font, int flags)
{
- if (!font.Ok())
+ if (!font.IsOk())
return false;
if (flags & wxTEXT_ATTR_FONT_SIZE)
destStyle.SetFontFamily(style.GetFontFamily());
}
- if (style.GetTextColour().Ok() && style.HasTextColour())
+ if (style.GetTextColour().IsOk() && style.HasTextColour())
{
if (!(compareWith && compareWith->HasTextColour() && compareWith->GetTextColour() == style.GetTextColour()))
destStyle.SetTextColour(style.GetTextColour());
}
- if (style.GetBackgroundColour().Ok() && style.HasBackgroundColour())
+ if (style.GetBackgroundColour().IsOk() && style.HasBackgroundColour())
{
if (!(compareWith && compareWith->HasBackgroundColour() && compareWith->GetBackgroundColour() == style.GetBackgroundColour()))
destStyle.SetBackgroundColour(style.GetBackgroundColour());
if (attr.HasFont())
font = attr.GetFont();
- if ( !font.Ok() )
+ if ( !font.IsOk() )
{
if (attrDef.HasFont())
font = attrDef.GetFont();
- if ( text && !font.Ok() )
+ if ( text && !font.IsOk() )
font = text->GetFont();
}
wxColour colFg = attr.GetTextColour();
- if ( !colFg.Ok() )
+ if ( !colFg.IsOk() )
{
colFg = attrDef.GetTextColour();
- if ( text && !colFg.Ok() )
+ if ( text && !colFg.IsOk() )
colFg = text->GetForegroundColour();
}
wxColour colBg = attr.GetBackgroundColour();
- if ( !colBg.Ok() )
+ if ( !colBg.IsOk() )
{
colBg = attrDef.GetBackgroundColour();
- if ( text && !colBg.Ok() )
+ if ( text && !colBg.IsOk() )
colBg = text->GetBackgroundColour();
}
{
int relevantBitsA = valueA & flags;
int relevantBitsB = valueB & flags;
- return (relevantBitsA != relevantBitsB);
+ return relevantBitsA == relevantBitsB;
}
/// Split into paragraph and character styles
bool wxTextCtrlBase::EmulateKeyPress(const wxKeyEvent& event)
{
+ bool handled = false;
// we have a native implementation for Win32 and so don't need this one
#ifndef __WIN32__
wxChar ch = 0;
int keycode = event.GetKeyCode();
+
+ long from, to;
+ GetSelection(&from,&to);
+ long insert = GetInsertionPoint();
+ long last = GetLastPosition();
+
+ // catch arrow left and right
+
switch ( keycode )
{
+ case WXK_LEFT:
+ if ( event.ShiftDown() )
+ SetSelection( (from > 0 ? from - 1 : 0) , to );
+ else
+ {
+ if ( from != to )
+ insert = from;
+ else if ( insert > 0 )
+ insert -= 1;
+ SetInsertionPoint( insert );
+ }
+ handled = true;
+ break;
+ case WXK_RIGHT:
+ if ( event.ShiftDown() )
+ SetSelection( from, (to < last ? to + 1 : last) );
+ else
+ {
+ if ( from != to )
+ insert = to;
+ else if ( insert < last )
+ insert += 1;
+ SetInsertionPoint( insert );
+ }
+ handled = true;
+ break;
case WXK_NUMPAD0:
case WXK_NUMPAD1:
case WXK_NUMPAD2:
const long pos = GetInsertionPoint();
if ( pos < GetLastPosition() )
Remove(pos, pos + 1);
+ handled = true;
}
break;
const long pos = GetInsertionPoint();
if ( pos > 0 )
Remove(pos - 1, pos);
+ handled = true;
}
break;
{
WriteText(ch);
- return true;
+ handled = true;
}
#else // __WIN32__
wxUnusedVar(event);
#endif // !__WIN32__/__WIN32__
- return false;
+ return handled;
}
// do the window-specific processing after processing the update event
return wxTE_HT_UNKNOWN;
}
+wxPoint wxTextAreaBase::PositionToCoords(long pos) const
+{
+ wxCHECK_MSG( IsValidPosition(pos), wxDefaultPosition,
+ wxS("Position argument out of range.") );
+
+ return DoPositionToCoords(pos);
+}
+
+wxPoint wxTextAreaBase::DoPositionToCoords(long WXUNUSED(pos)) const
+{
+ return wxDefaultPosition;
+}
+
#else // !wxUSE_TEXTCTRL
// define this one even if !wxUSE_TEXTCTRL because it is also used by other