geany
1.38
About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...). F: office T: editor programming GTK+ IDE
![]() ![]() |
#include <ScintillaGTKAccessible.h>
Classes | |
class | AtkEditableTextIface |
class | AtkTextIface |
Public Member Functions | |
ScintillaGTKAccessible (GtkAccessible *accessible_, GtkWidget *widget_) | |
~ScintillaGTKAccessible () | |
void | ChangeDocument (Document *oldDoc, Document *newDoc) |
void | NotifyReadOnly () |
void | SetAccessibility (bool enabled) |
Static Public Member Functions | |
static ScintillaGTKAccessible * | FromAccessible (GtkAccessible *accessible) |
static ScintillaGTKAccessible * | FromAccessible (AtkObject *accessible) |
static AtkObject * | WidgetGetAccessibleImpl (GtkWidget *widget, AtkObject **cache, gpointer widget_parent_class) |
Private Member Functions | |
bool | Enabled () const |
void | UpdateCursor () |
void | Notify (GtkWidget *widget, gint code, SCNotification *nt) |
Sci::Position | ByteOffsetFromCharacterOffset (Sci::Position startByte, int characterOffset) |
Sci::Position | ByteOffsetFromCharacterOffset (Sci::Position characterOffset) |
Sci::Position | CharacterOffsetFromByteOffset (Sci::Position byteOffset) |
void | CharacterRangeFromByteRange (Sci::Position startByte, Sci::Position endByte, int *startChar, int *endChar) |
void | ByteRangeFromCharacterRange (int startChar, int endChar, Sci::Position &startByte, Sci::Position &endByte) |
Sci::Position | PositionBefore (Sci::Position pos) |
Sci::Position | PositionAfter (Sci::Position pos) |
int | StyleAt (Sci::Position position, bool ensureStyle=false) |
gchar * | GetTextRangeUTF8 (Sci::Position startByte, Sci::Position endByte) |
gchar * | GetText (int startChar, int endChar) |
gchar * | GetTextAfterOffset (int charOffset, AtkTextBoundary boundaryType, int *startChar, int *endChar) |
gchar * | GetTextBeforeOffset (int charOffset, AtkTextBoundary boundaryType, int *startChar, int *endChar) |
gchar * | GetTextAtOffset (int charOffset, AtkTextBoundary boundaryType, int *startChar, int *endChar) |
gunichar | GetCharacterAtOffset (int charOffset) |
gint | GetCharacterCount () |
gint | GetCaretOffset () |
gboolean | SetCaretOffset (int charOffset) |
gint | GetOffsetAtPoint (gint x, gint y, AtkCoordType coords) |
void | GetCharacterExtents (int charOffset, gint *x, gint *y, gint *width, gint *height, AtkCoordType coords) |
AtkAttributeSet * | GetAttributesForStyle (unsigned int styleNum) |
AtkAttributeSet * | GetRunAttributes (int charOffset, int *startChar, int *endChar) |
AtkAttributeSet * | GetDefaultAttributes () |
gint | GetNSelections () |
gchar * | GetSelection (gint selection_num, int *startChar, int *endChar) |
gboolean | AddSelection (int startChar, int endChar) |
gboolean | RemoveSelection (int selection_num) |
gboolean | SetSelection (gint selection_num, int startChar, int endChar) |
bool | InsertStringUTF8 (Sci::Position bytePos, const gchar *utf8, Sci::Position lengthBytes) |
void | SetTextContents (const gchar *contents) |
void | InsertText (const gchar *text, int lengthBytes, int *charPosition) |
void | CopyText (int startChar, int endChar) |
void | CutText (int startChar, int endChar) |
void | DeleteText (int startChar, int endChar) |
void | PasteText (int charPosition) |
Static Private Member Functions | |
static void | SciNotify (GtkWidget *widget, gint code, SCNotification *nt, gpointer data) |
Private Attributes | |
GtkAccessible * | accessible |
ScintillaGTK * | sci |
Sci::Position | old_pos |
std::vector< SelectionRange > | old_sels |
Definition at line 15 of file ScintillaGTKAccessible.h.
ScintillaGTKAccessible::ScintillaGTKAccessible | ( | GtkAccessible * | accessible_, |
GtkWidget * | widget_ | ||
) |
Definition at line 155 of file ScintillaGTKAccessible.cxx.
References SciNotify(), and SetAccessibility().
Referenced by scintilla_object_accessible_widget_set().
ScintillaGTKAccessible::~ScintillaGTKAccessible | ( | ) |
Definition at line 163 of file ScintillaGTKAccessible.cxx.
References accessible, Scintilla::ScintillaGTK::sci, and sci.
|
private |
Definition at line 594 of file ScintillaGTKAccessible.cxx.
References ByteRangeFromCharacterRange(), Scintilla::Selection::Count(), Scintilla::Selection::Empty(), sci, SCI_ADDSELECTION, SCI_SETSELECTION, Scintilla::EditModel::sel, and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::AddSelection().
|
inlineprivate |
Definition at line 60 of file ScintillaGTKAccessible.h.
References ByteOffsetFromCharacterOffset().
|
inlineprivate |
Definition at line 34 of file ScintillaGTKAccessible.h.
References Scintilla::Document::GetRelativePosition(), Scintilla::Document::IndexLineStart(), INVALID_POSITION, Scintilla::Document::Length(), line, Scintilla::Document::LineCharacterIndex(), Scintilla::Document::LineFromPosition(), Scintilla::Document::LineFromPositionIndex(), Scintilla::Document::LineStart(), Scintilla::EditModel::pdoc, pos, SC_LINECHARACTERINDEX_UTF32, and sci.
Referenced by ByteOffsetFromCharacterOffset(), ByteRangeFromCharacterRange(), GetCharacterAtOffset(), GetCharacterExtents(), GetRunAttributes(), GetText(), GetTextAfterOffset(), GetTextAtOffset(), GetTextBeforeOffset(), InsertText(), PasteText(), and SetCaretOffset().
|
inlineprivate |
Definition at line 78 of file ScintillaGTKAccessible.h.
References ByteOffsetFromCharacterOffset().
Referenced by AddSelection(), CopyText(), DeleteText(), GetText(), and SetSelection().
Definition at line 824 of file ScintillaGTKAccessible.cxx.
References accessible, Scintilla::Document::CountCharacters(), Enabled(), Scintilla::Document::IsReadOnly(), Scintilla::Document::Length(), NotifyReadOnly(), old_pos, old_sels, Scintilla::EditModel::pdoc, PLATFORM_ASSERT, sci, and UpdateCursor().
Referenced by Scintilla::ScintillaGTK::SetDocPointer().
|
inlineprivate |
Definition at line 64 of file ScintillaGTKAccessible.h.
References Scintilla::Document::CountCharacters(), Scintilla::Document::IndexLineStart(), line, Scintilla::Document::LineCharacterIndex(), Scintilla::Document::LineFromPosition(), Scintilla::Document::LineStart(), Scintilla::EditModel::pdoc, SC_LINECHARACTERINDEX_UTF32, and sci.
Referenced by CharacterRangeFromByteRange(), GetCaretOffset(), GetOffsetAtPoint(), Notify(), and UpdateCursor().
|
inlineprivate |
Definition at line 73 of file ScintillaGTKAccessible.h.
References CharacterOffsetFromByteOffset(), Scintilla::Document::CountCharacters(), Scintilla::EditModel::pdoc, and sci.
Referenced by GetRunAttributes(), GetSelection(), GetTextAfterOffset(), GetTextAtOffset(), and GetTextBeforeOffset().
|
private |
Definition at line 697 of file ScintillaGTKAccessible.cxx.
References ByteRangeFromCharacterRange(), Scintilla::Editor::CopyRangeToClipboard(), and sci.
Referenced by Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::CopyText(), CutText(), and Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::init().
|
private |
Definition at line 703 of file ScintillaGTKAccessible.cxx.
References CopyText(), DeleteText(), Scintilla::Document::IsReadOnly(), Scintilla::EditModel::pdoc, and sci.
Referenced by Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::CutText(), and Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::init().
|
private |
Definition at line 713 of file ScintillaGTKAccessible.cxx.
References ByteRangeFromCharacterRange(), Scintilla::Document::DeleteChars(), Scintilla::Document::IsReadOnly(), Scintilla::EditModel::pdoc, Scintilla::Editor::RangeContainsProtected(), and sci.
Referenced by CutText(), Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::DeleteText(), and Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::init().
|
private |
Definition at line 789 of file ScintillaGTKAccessible.cxx.
References Scintilla::ScintillaGTK::accessibilityEnabled, SC_ACCESSIBILITY_ENABLED, and sci.
Referenced by ChangeDocument(), and Notify().
|
inlinestatic |
Definition at line 134 of file ScintillaGTKAccessible.h.
References accessible, and FromAccessible().
|
static |
Definition at line 145 of file ScintillaGTKAccessible.cxx.
References accessible, and SCINTILLA_OBJECT_ACCESSIBLE_GET_PRIVATE.
Referenced by FromAccessible(), Scintilla::ScintillaGTK::SetDocPointer(), and Scintilla::ScintillaGTK::WndProc().
|
private |
Definition at line 528 of file ScintillaGTKAccessible.cxx.
References AddTextAttribute(), AddTextColorAttribute(), AddTextIntAttribute(), Scintilla::Style::back, Scintilla::Style::changeable, Scintilla::FontSpecification::fontName, Scintilla::Style::fore, Scintilla::FontSpecification::italic, SC_FONT_SIZE_MULTIPLIER, sci, Scintilla::FontSpecification::size, Scintilla::ViewStyle::styles, Scintilla::Style::underline, Scintilla::Style::visible, Scintilla::Editor::vs, and Scintilla::FontSpecification::weight.
Referenced by GetDefaultAttributes(), and GetRunAttributes().
|
private |
Definition at line 431 of file ScintillaGTKAccessible.cxx.
References CharacterOffsetFromByteOffset(), sci, SCI_GETCURRENTPOS, and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetCaretOffset().
|
private |
Definition at line 415 of file ScintillaGTKAccessible.cxx.
References ByteOffsetFromCharacterOffset(), GetTextRangeUTF8(), and PositionAfter().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetCharacterAtOffset().
|
private |
Definition at line 427 of file ScintillaGTKAccessible.cxx.
References Scintilla::Document::CountCharacters(), Scintilla::Document::Length(), Scintilla::EditModel::pdoc, and sci.
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetCharacterCount().
|
private |
Definition at line 463 of file ScintillaGTKAccessible.cxx.
References accessible, ByteOffsetFromCharacterOffset(), Scintilla::Document::GetCharRange(), line, Scintilla::EditModel::pdoc, PositionAfter(), sci, SCI_LINEFROMPOSITION, SCI_POINTXFROMPOSITION, SCI_POINTYFROMPOSITION, SCI_TEXTHEIGHT, StyleAt(), Scintilla::Editor::TextWidth(), and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetCharacterExtents().
|
private |
Definition at line 575 of file ScintillaGTKAccessible.cxx.
References GetAttributesForStyle().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetDefaultAttributes().
|
private |
Definition at line 579 of file ScintillaGTKAccessible.cxx.
References Scintilla::Selection::Count(), Scintilla::Selection::Empty(), sci, and Scintilla::EditModel::sel.
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetNSelections().
|
private |
Definition at line 440 of file ScintillaGTKAccessible.cxx.
References accessible, CharacterOffsetFromByteOffset(), sci, SCI_CHARPOSITIONFROMPOINTCLOSE, and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetOffsetAtPoint().
|
private |
Definition at line 548 of file ScintillaGTKAccessible.cxx.
References ByteOffsetFromCharacterOffset(), CharacterRangeFromByteRange(), GetAttributesForStyle(), Scintilla::Document::Length(), Scintilla::EditModel::pdoc, sci, SCI_GETCURRENTPOS, StyleAt(), Scintilla::Document::StyleAt(), and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetRunAttributes().
|
private |
Definition at line 583 of file ScintillaGTKAccessible.cxx.
References CharacterRangeFromByteRange(), Scintilla::Selection::Count(), Scintilla::SelectionRange::End(), GetTextRangeUTF8(), Scintilla::SelectionPosition::Position(), Scintilla::Selection::Range(), sci, Scintilla::EditModel::sel, and Scintilla::SelectionRange::Start().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetSelection().
|
private |
Definition at line 196 of file ScintillaGTKAccessible.cxx.
References ByteOffsetFromCharacterOffset(), ByteRangeFromCharacterRange(), GetTextRangeUTF8(), Scintilla::Document::Length(), Scintilla::EditModel::pdoc, and sci.
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetText().
|
private |
Definition at line 207 of file ScintillaGTKAccessible.cxx.
References ByteOffsetFromCharacterOffset(), CharacterRangeFromByteRange(), GetTextRangeUTF8(), line, PositionAfter(), sci, SCI_GETLINEENDPOSITION, SCI_LINEFROMPOSITION, SCI_POSITIONFROMLINE, SCI_WORDENDPOSITION, and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetTextAfterOffset().
|
private |
Definition at line 320 of file ScintillaGTKAccessible.cxx.
References ByteOffsetFromCharacterOffset(), CharacterRangeFromByteRange(), GetTextRangeUTF8(), line, sci, SCI_GETLINEENDPOSITION, SCI_ISRANGEWORD, SCI_LINEFROMPOSITION, SCI_POSITIONAFTER, SCI_POSITIONFROMLINE, SCI_WORDENDPOSITION, SCI_WORDSTARTPOSITION, and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetTextAtOffset().
|
private |
Definition at line 258 of file ScintillaGTKAccessible.cxx.
References ByteOffsetFromCharacterOffset(), CharacterRangeFromByteRange(), GetTextRangeUTF8(), line, PositionBefore(), sci, SCI_GETLINEENDPOSITION, SCI_LINEFROMPOSITION, SCI_POSITIONFROMLINE, SCI_WORDSTARTPOSITION, and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::GetTextBeforeOffset().
|
private |
Definition at line 169 of file ScintillaGTKAccessible.cxx.
References Scintilla::ScintillaGTK::CharacterSetID(), Scintilla::ConvertText(), Scintilla::Document::GetCharRange(), Scintilla::Editor::IsUnicodeMode(), Scintilla::EditModel::pdoc, Scintilla::Editor::RangeText(), and sci.
Referenced by GetCharacterAtOffset(), GetSelection(), GetText(), GetTextAfterOffset(), GetTextAtOffset(), and GetTextBeforeOffset().
|
private |
Definition at line 669 of file ScintillaGTKAccessible.cxx.
References Scintilla::ScintillaGTK::CharacterSetID(), Scintilla::ConvertText(), Scintilla::Document::InsertString(), Scintilla::Document::IsReadOnly(), Scintilla::Editor::IsUnicodeMode(), Scintilla::EditModel::pdoc, and sci.
Referenced by InsertText(), and PasteText().
|
private |
Definition at line 688 of file ScintillaGTKAccessible.cxx.
References ByteOffsetFromCharacterOffset(), Scintilla::Document::CountCharacters(), InsertStringUTF8(), Scintilla::EditModel::pdoc, sci, and text.
Referenced by Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::init(), and Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::InsertText().
|
private |
Definition at line 871 of file ScintillaGTKAccessible.cxx.
References accessible, CharacterOffsetFromByteOffset(), Sci_NotifyHeader::code, Scintilla::Document::CountCharacters(), Enabled(), SCNotification::length, SCNotification::modificationType, SCNotification::nmhdr, Scintilla::EditModel::pdoc, SCNotification::position, SC_MOD_BEFOREDELETE, SC_MOD_CHANGESTYLE, SC_MOD_DELETETEXT, SC_MOD_INSERTTEXT, SC_UPDATE_SELECTION, sci, SCN_MODIFIED, SCN_UPDATEUI, UpdateCursor(), and SCNotification::updated.
Referenced by SciNotify().
void ScintillaGTKAccessible::NotifyReadOnly | ( | ) |
Definition at line 855 of file ScintillaGTKAccessible.cxx.
References accessible, Scintilla::Document::IsReadOnly(), Scintilla::EditModel::pdoc, and sci.
Referenced by ChangeDocument(), and Scintilla::ScintillaGTK::WndProc().
|
private |
Definition at line 727 of file ScintillaGTKAccessible.cxx.
References accessible, ByteOffsetFromCharacterOffset(), Scintilla::Editor::convertPastes, Scintilla::Document::eolMode, InsertStringUTF8(), Scintilla::Document::IsReadOnly(), Scintilla::EditModel::pdoc, Scintilla::ScintillaGTK::sci, sci, text, and Scintilla::Document::TransformLineEnds().
Referenced by Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::init(), and Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::PasteText().
|
inlineprivate |
Definition at line 87 of file ScintillaGTKAccessible.h.
References Scintilla::Document::MovePositionOutsideChar(), Scintilla::EditModel::pdoc, pos, and sci.
Referenced by GetCharacterAtOffset(), GetCharacterExtents(), and GetTextAfterOffset().
|
inlineprivate |
Definition at line 83 of file ScintillaGTKAccessible.h.
References Scintilla::Document::MovePositionOutsideChar(), Scintilla::EditModel::pdoc, pos, and sci.
Referenced by GetTextBeforeOffset().
|
private |
Definition at line 608 of file ScintillaGTKAccessible.cxx.
References Scintilla::Selection::Count(), Scintilla::Selection::Empty(), sci, SCI_CLEARSELECTIONS, SCI_DROPSELECTIONN, Scintilla::EditModel::sel, and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::RemoveSelection().
|
inlinestaticprivate |
Definition at line 28 of file ScintillaGTKAccessible.h.
References Notify().
Referenced by ScintillaGTKAccessible().
void ScintillaGTKAccessible::SetAccessibility | ( | bool | enabled | ) |
Definition at line 863 of file ScintillaGTKAccessible.cxx.
References Scintilla::Document::AllocateLineCharacterIndex(), Scintilla::EditModel::pdoc, Scintilla::Document::ReleaseLineCharacterIndex(), SC_LINECHARACTERINDEX_UTF32, and sci.
Referenced by ScintillaGTKAccessible(), and Scintilla::ScintillaGTK::WndProc().
|
private |
Definition at line 435 of file ScintillaGTKAccessible.cxx.
References ByteOffsetFromCharacterOffset(), sci, SCI_GOTOPOS, and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::SetCaretOffset().
|
private |
Definition at line 624 of file ScintillaGTKAccessible.cxx.
References ByteRangeFromCharacterRange(), Scintilla::Selection::Count(), sci, SCI_SETSELECTIONNEND, SCI_SETSELECTIONNSTART, Scintilla::EditModel::sel, and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkTextIface::SetSelection().
|
private |
Definition at line 662 of file ScintillaGTKAccessible.cxx.
References Scintilla::Document::IsReadOnly(), Scintilla::EditModel::pdoc, sci, SCI_SETTEXT, and Scintilla::ScintillaGTK::WndProc().
Referenced by Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::init(), and Scintilla::ScintillaGTKAccessible::AtkEditableTextIface::SetTextContents().
|
inlineprivate |
Definition at line 91 of file ScintillaGTKAccessible.h.
References Scintilla::Document::EnsureStyledTo(), Scintilla::EditModel::pdoc, position, sci, and Scintilla::Document::StyleAt().
Referenced by GetCharacterExtents(), and GetRunAttributes().
|
private |
Definition at line 795 of file ScintillaGTKAccessible.cxx.
References accessible, CharacterOffsetFromByteOffset(), Scintilla::Selection::Count(), Scintilla::SelectionRange::Empty(), old_pos, old_sels, pos, Scintilla::Selection::Range(), sci, SCI_GETCURRENTPOS, Scintilla::EditModel::sel, and Scintilla::ScintillaGTK::WndProc().
Referenced by ChangeDocument(), and Notify().
|
static |
Definition at line 1090 of file ScintillaGTKAccessible.cxx.
References scintilla_object_accessible_factory_get_type(), and scintilla_object_accessible_new().
Referenced by Scintilla::ScintillaGTK::GetAccessibleThis().
|
private |
Definition at line 18 of file ScintillaGTKAccessible.h.
Referenced by ChangeDocument(), FromAccessible(), GetCharacterExtents(), GetOffsetAtPoint(), Notify(), NotifyReadOnly(), PasteText(), scintilla_object_accessible_init(), scintilla_object_accessible_new(), scintilla_object_accessible_ref_state_set(), scintilla_object_accessible_widget_set(), UpdateCursor(), and ~ScintillaGTKAccessible().
|
private |
Definition at line 22 of file ScintillaGTKAccessible.h.
Referenced by ChangeDocument(), and UpdateCursor().
|
private |
Definition at line 23 of file ScintillaGTKAccessible.h.
Referenced by ChangeDocument(), and UpdateCursor().
|
private |
Definition at line 19 of file ScintillaGTKAccessible.h.
Referenced by AddSelection(), ByteOffsetFromCharacterOffset(), ChangeDocument(), CharacterOffsetFromByteOffset(), CharacterRangeFromByteRange(), CopyText(), CutText(), DeleteText(), Enabled(), GetAttributesForStyle(), GetCaretOffset(), GetCharacterCount(), GetCharacterExtents(), GetNSelections(), GetOffsetAtPoint(), GetRunAttributes(), GetSelection(), GetText(), GetTextAfterOffset(), GetTextAtOffset(), GetTextBeforeOffset(), GetTextRangeUTF8(), InsertStringUTF8(), InsertText(), Notify(), NotifyReadOnly(), PasteText(), PositionAfter(), PositionBefore(), RemoveSelection(), SetAccessibility(), SetCaretOffset(), SetSelection(), SetTextContents(), StyleAt(), UpdateCursor(), and ~ScintillaGTKAccessible().