Class: Tk::Text (Ruby 2.2.2)
Description: Class : Tk::Text - Ruby 2.2.2

- Home
- Core 2.2.2
- Std-lib 2.2.2
- Downloads

Support for the Ruby 2.2 series has ended. See here for reference.

### Home Classes Methods

### In Files

- tk/lib/tk/text.rb
- tk/lib/tk/textimage.rb
- tk/lib/tk/textmark.rb
- tk/lib/tk/texttag.rb
- tk/lib/tk/textwindow.rb

### Parent

TkTextWin

### Namespace

- MODULE Tk::Text::IndexModMethods
- CLASS Tk::Text::IndexString
- CLASS Tk::Text::Peer

### Methods

- ::at
- ::new
- #__destroy_hook__
- #_addcmd
- #_addtag
- #add_tag
- #addtag
- #at
- #backspace
- #bbox
- #clear
- #compare
- #count
- #count_info
- #current_image_configinfo
- #debug
- #debug=
- #delete_tag
- #deltag
- #destroy
- #dlineinfo
- #dump
- #dump_all
- #dump_image
- #dump_mark
- #dump_tag
- #dump_text
- #dump_window
- #edit_redo
- #edit_reset
- #edit_separator
- #edit_undo
- #erase
- #get_displaychars
- #image_cget
- #image_cget_strict
- #image_configinfo
- #image_configure
- #image_names
- #index
- #init_instance_variable
- #insert
- #mark_gravity
- #mark_names
- #mark_next
- #mark_previous
- #mark_set
- #mark_unset
- #modified
- #modified=
- #modified?
- #next_mark
- #peer_names
- #previous_mark
- #replace
- #rsearch
- #rsearch_with_length
- #search
- #search_with_length
- #set_current
- #set_insert
- #set_mark
- #tag_add
- #tag_bind
- #tag_bind_append
- #tag_bind_remove
- #tag_bindinfo
- #tag_delete
- #tag_lower
- #tag_names
- #tag_nextrange
- #tag_prevrange
- #tag_raise
- #tag_ranges
- #tag_remove
- #tagid2obj
- #text_copy
- #text_cut
- #text_paste
- #tksearch
- #tksearch_with_count
- #unset_mark
- #value
- #value=
- #window_names
- #xview_pickplace
- #yview_pickplace

### Included Modules

- TkTextTagConfig
- Scrollable

### Class/Module Index

Quicksearch

- Arc
- Bitmap
- BitmapImage
- Checkbutton
- CloneMenu
- Font
- Grid
- INTERP
- Labelframe
- Line
- MenuButton
- MultiTkIp
- MultiTkIp::Command_Queue
- MultiTkIp::ThreadGroup
- MultiTkIp_OK
- MultiTkIp_PseudoToplevel_Evaluable
- Object
- Object::TkNamedVirtualEvent
- Object::TkSystemMenu
- Object::Ttk
- OptionMenuButton
- Oval
- Pack
- Panedwindow
- PhotoImage
- Place
- Polygon
- Radiobutton
- Rectangle
- RemoteTkIp
- Selection
- Spinbox
- TclTk
- TclTkCallback
- TclTkCommand
- TclTkImage
- TclTkInterpreter
- TclTkIp
- TclTkLib
- TclTkLib::EventFlag
- TclTkLib::RELEASE_TYPE
- TclTkLib::VarAccessFlag
- TclTkLibCommand
- TclTkObject
- TclTkVariable
- TclTkWidget
- TextItem
- Tk
- Tk::BLT
- Tk::BLT::Barchart
- Tk::BLT::Bitmap
- Tk::BLT::Busy
- Tk::BLT::Busy::Shield
- Tk::BLT::Container
- Tk::BLT::CutBuffer
- Tk::BLT::DnD
- Tk::BLT::DragDrop
- Tk::BLT::DragDrop::DnD_Handle
- Tk::BLT::DragDrop::PackageCommand
- Tk::BLT::DragDrop::PackageCommand::ValidateArgs
- Tk::BLT::DragDrop::SiteCommand
- Tk::BLT::DragDrop::SiteCommand::ValidateArgs
- Tk::BLT::DragDrop::Token
- Tk::BLT::EPS
- Tk::BLT::Graph
- Tk::BLT::GraphCommand
- Tk::BLT::Hiertable
- Tk::BLT::Htext
- Tk::BLT::PlotComponent
- Tk::BLT::PlotComponent::Axis
- Tk::BLT::PlotComponent::Bar
- Tk::BLT::PlotComponent::BitmapMarker
- Tk::BLT::PlotComponent::Crosshairs
- Tk::BLT::PlotComponent::Element
- Tk::BLT::PlotComponent::GridLine
- Tk::BLT::PlotComponent::ImageMarker
- Tk::BLT::PlotComponent::Legend
- Tk::BLT::PlotComponent::Line
- Tk::BLT::PlotComponent::LineMarker
- Tk::BLT::PlotComponent::Marker
- Tk::BLT::PlotComponent::OptKeys
- Tk::BLT::PlotComponent::Pen
- Tk::BLT::PlotComponent::PolygonMarker
- Tk::BLT::PlotComponent::Postscript
- Tk::BLT::PlotComponent::TextMarker
- Tk::BLT::PlotComponent::WindowMarker
- Tk::BLT::Printer
- Tk::BLT::Spline
- Tk::BLT::Stripchart
- Tk::BLT::Table
- Tk::BLT::Table::TableContainer
- Tk::BLT::Tabnotebook
- Tk::BLT::Tabnotebook::Tab
- Tk::BLT::Tabset
- Tk::BLT::Tabset::NamedTab
- Tk::BLT::Tabset::Tab
- Tk::BLT::Ted
- Tk::BLT::Tile
- Tk::BLT::Tile::Button
- Tk::BLT::Tile::CheckButton
- Tk::BLT::Tile::Checkbutton
- Tk::BLT::Tile::Frame
- Tk::BLT::Tile::Label
- Tk::BLT::Tile::RadioButton
- Tk::BLT::Tile::Radiobutton
- Tk::BLT::Tile::Scrollbar
- Tk::BLT::Tile::Toplevel
- Tk::BLT::Tree
- Tk::BLT::Tree::Node
- Tk::BLT::Tree::Notify
- Tk::BLT::Tree::Tag
- Tk::BLT::Tree::Trace
- Tk::BLT::Treeview
- Tk::BLT::Treeview::ConfigMethod
- Tk::BLT::Treeview::FindExecFlagValue
- Tk::BLT::Treeview::FindExecFlagValue::ValidateArgs
- Tk::BLT::Treeview::Node
- Tk::BLT::Treeview::OpenCloseCommand
- Tk::BLT::Treeview::OpenCloseCommand::ValidateArgs
- Tk::BLT::Treeview::Tag
- Tk::BLT::Treeview::TagOrID_Methods
- Tk::BLT::Vector
- Tk::BLT::VectorAccess
- Tk::BLT::Watch
- Tk::BLT::WinOp
- Tk::BLT::Winop
- Tk::BWidget
- Tk::BWidget::ArrowButton
- Tk::BWidget::Bitmap
- Tk::BWidget::Button
- Tk::BWidget::ButtonBox
- Tk::BWidget::ComboBox
- Tk::BWidget::Dialog
- Tk::BWidget::DragSite
- Tk::BWidget::DropSite
- Tk::BWidget::DynamicHelp
- Tk::BWidget::Entry
- Tk::BWidget::Label
- Tk::BWidget::LabelEntry
- Tk::BWidget::LabelFrame
- Tk::BWidget::ListBox
- Tk::BWidget::ListBox::Event_for_Items
- Tk::BWidget::ListBox::Item
- Tk::BWidget::MainFrame
- Tk::BWidget::MessageDlg
- Tk::BWidget::NoteBook
- Tk::BWidget::NoteBook::Event_for_Tabs
- Tk::BWidget::PagesManager
- Tk::BWidget::PanedWindow
- Tk::BWidget::PanelFrame
- Tk::BWidget::PasswdDlg
- Tk::BWidget::ProgressBar
- Tk::BWidget::ProgressDlg
- Tk::BWidget::ScrollView
- Tk::BWidget::ScrollableFrame
- Tk::BWidget::ScrolledWindow
- Tk::BWidget::SelectColor
- Tk::BWidget::SelectColor::Dialog
- Tk::BWidget::SelectColor::MenuButton
- Tk::BWidget::SelectColor::Menubutton
- Tk::BWidget::SelectFont
- Tk::BWidget::SelectFont::Dialog
- Tk::BWidget::SelectFont::Toolbar
- Tk::BWidget::Separator
- Tk::BWidget::SpinBox
- Tk::BWidget::StatusBar
- Tk::BWidget::TitleFrame
- Tk::BWidget::Tree
- Tk::BWidget::Tree::Event_for_Items
- Tk::BWidget::Tree::Node
- Tk::BWidget::Widget
- Tk::BinaryString
- Tk::Busy
- Tk::Button
- Tk::Canvas
- Tk::CheckButton
- Tk::Clock
- Tk::EncodedString
- Tk::Encoding
- Tk::Entry
- Tk::Frame
- Tk::HTML_Widget
- Tk::HTML_Widget::ClippingWindow
- Tk::ICONS
- Tk::Img
- Tk::Img::BMP
- Tk::Img::DTED
- Tk::Img::GIF
- Tk::Img::ICO
- Tk::Img::JPEG
- Tk::Img::PCX
- Tk::Img::PIXMAP
- Tk::Img::PNG
- Tk::Img::PPM
- Tk::Img::PS
- Tk::Img::Raw
- Tk::Img::SGI
- Tk::Img::SUN
- Tk::Img::TGA
- Tk::Img::TIFF
- Tk::Img::WINDOW
- Tk::Img::XBM
- Tk::Img::XPM
- Tk::Itcl
- Tk::Itcl::ItclObject
- Tk::ItemValidateConfigure
- Tk::Itk
- Tk::Itk::Archetype
- Tk::Itk::Component
- Tk::Itk::Toplevel
- Tk::Itk::Widget
- Tk::Iwidgets
- Tk::Iwidgets::Buttonbox
- Tk::Iwidgets::Calendar
- Tk::Iwidgets::Calendar::CalendarCommand
- Tk::Iwidgets::Calendar::CalendarCommand::ValidateArgs
- Tk::Iwidgets::Canvasprintbox
- Tk::Iwidgets::Canvasprintdialog
- Tk::Iwidgets::Checkbox
- Tk::Iwidgets::Combobox
- Tk::Iwidgets::Dateentry
- Tk::Iwidgets::Datefield
- Tk::Iwidgets::Dialog
- Tk::Iwidgets::Dialogshell
- Tk::Iwidgets::Disjointlistbox
- Tk::Iwidgets::Entryfield
- Tk::Iwidgets::Entryfield::EntryfieldValidate
- Tk::Iwidgets::Entryfield::EntryfieldValidate::ValidateArgs
- Tk::Iwidgets::Extbutton
- Tk::Iwidgets::Extfileselectionbox
- Tk::Iwidgets::Extfileselectiondialog
- Tk::Iwidgets::Feedback
- Tk::Iwidgets::Fileselectionbox
- Tk::Iwidgets::Fileselectiondialog
- Tk::Iwidgets::Finddialog
- Tk::Iwidgets::Hierarchy
- Tk::Iwidgets::Hierarchy::IconCommand
- Tk::Iwidgets::Hierarchy::IconCommand::ValidateArgs
- Tk::Iwidgets::Hierarchy::IndicatorCommand
- Tk::Iwidgets::Hierarchy::IndicatorCommand::ValidateArgs
- Tk::Iwidgets::Hierarchy::QueryCommand
- Tk::Iwidgets::Hierarchy::QueryCommand::ValidateArgs
- Tk::Iwidgets::Hyperhelp
- Tk::Iwidgets::Labeledframe
- Tk::Iwidgets::Labeledwidget
- Tk::Iwidgets::Mainwindow
- Tk::Iwidgets::Menubar
- Tk::Iwidgets::Messagebox
- Tk::Iwidgets::Messagedialog
- Tk::Iwidgets::Notebook
- Tk::Iwidgets::Optionmenu
- Tk::Iwidgets::Panedwindow
- Tk::Iwidgets::Promptdialog
- Tk::Iwidgets::Pushbutton
- Tk::Iwidgets::Radiobox
- Tk::Iwidgets::Scopedobject
- Tk::Iwidgets::Scrolledcanvas
- Tk::Iwidgets::Scrolledframe
- Tk::Iwidgets::Scrolledhtml
- Tk::Iwidgets::Scrolledlistbox
- Tk::Iwidgets::Scrolledtext
- Tk::Iwidgets::Scrolledwidget
- Tk::Iwidgets::Selectionbox
- Tk::Iwidgets::Selectiondialog
- Tk::Iwidgets::Shell
- Tk::Iwidgets::Spindate
- Tk::Iwidgets::Spinint
- Tk::Iwidgets::Spinner
- Tk::Iwidgets::Spinner::EntryfieldValidate
- Tk::Iwidgets::Spinner::EntryfieldValidate::ValidateArgs
- Tk::Iwidgets::Spintime
- Tk::Iwidgets::Tabnotebook
- Tk::Iwidgets::Tabset
- Tk::Iwidgets::Timeentry
- Tk::Iwidgets::Timefield
- Tk::Iwidgets::Toolbar
- Tk::Iwidgets::Watch
- Tk::Label
- Tk::LabelFrame
- Tk::Listbox
- Tk::Mac
- Tk::Mac::IconBitmap
- Tk::MacResource
- Tk::Menu
- Tk::Menu::TkInternalFunction
- Tk::MenuClone
- Tk::Menubutton
- Tk::Message
- Tk::OptionMenubutton
- Tk::OptionMenubutton::OptionMenu
- Tk::OptionObj
- Tk::PanedWindow
- Tk::RadioButton
- Tk::Root
- Tk::Scale
- Tk::Scrollable
- Tk::Scrollbar
- Tk::Spinbox
- Tk::Spinbox::SpinCommand
- Tk::Spinbox::SpinCommand::ValidateArgs
- Tk::SysMenu_Apple
- Tk::SysMenu_Help
- Tk::SysMenu_System
- Tk::SystemMenu
- Tk::TOPLEVEL_ALIASES
- Tk::TclX
- Tk::TclX::XPG3_MsgCat
- Tk::Tcllib
- Tk::Tcllib::Autoscroll
- Tk::Tcllib::CText
- Tk::Tcllib::ChatWidget
- Tk::Tcllib::Crosshair
- Tk::Tcllib::Cursor
- Tk::Tcllib::DateField
- Tk::Tcllib::Datefield
- Tk::Tcllib::Diagrams
- Tk::Tcllib::GetString_Dialog
- Tk::Tcllib::History
- Tk::Tcllib::ICO
- Tk::Tcllib::IP6_Entry
- Tk::Tcllib::IPEntry
- Tk::Tcllib::IPEntry6
- Tk::Tcllib::IP_Entry
- Tk::Tcllib::IP_Entry6
- Tk::Tcllib::KHIM
- Tk::Tcllib::KHIM::Help
- Tk::Tcllib::Ntext
- Tk::Tcllib::Plotchart
- Tk::Tcllib::Plotchart::Barchart
- Tk::Tcllib::Plotchart::Barchart3D
- Tk::Tcllib::Plotchart::Boxplot
- Tk::Tcllib::Plotchart::ChartMethod
- Tk::Tcllib::Plotchart::Ganttchart
- Tk::Tcllib::Plotchart::Histogram
- Tk::Tcllib::Plotchart::HorizontalBarchart
- Tk::Tcllib::Plotchart::IsometricPlot
- Tk::Tcllib::Plotchart::Isometricplot
- Tk::Tcllib::Plotchart::Piechart
- Tk::Tcllib::Plotchart::Plot3D
- Tk::Tcllib::Plotchart::PlotSeries
- Tk::Tcllib::Plotchart::PolarPlot
- Tk::Tcllib::Plotchart::Polarplot
- Tk::Tcllib::Plotchart::Radialchart
- Tk::Tcllib::Plotchart::RibbonChart3D
- Tk::Tcllib::Plotchart::RightAxis
- Tk::Tcllib::Plotchart::Stripchart
- Tk::Tcllib::Plotchart::TXPlot
- Tk::Tcllib::Plotchart::Timechart
- Tk::Tcllib::Plotchart::XLogYPlot
- Tk::Tcllib::Plotchart::XYPlot
- Tk::Tcllib::Style
- Tk::Tcllib::Swaplist_Dialog
- Tk::Tcllib::TableList
- Tk::Tcllib::TableList_Tile
- Tk::Tcllib::Tablelist
- Tk::Tcllib::TablelistItemConfig
- Tk::Tcllib::Tablelist_Tile
- Tk::Tcllib::Tkpiechart
- Tk::Tcllib::Tkpiechart::BoxLabeler
- Tk::Tcllib::Tkpiechart::ConfigMethod
- Tk::Tcllib::Tkpiechart::Label
- Tk::Tcllib::Tkpiechart::PeripheralLabeler
- Tk::Tcllib::Tkpiechart::Pie
- Tk::Tcllib::Tkpiechart::PieChartObj
- Tk::Tcllib::Tkpiechart::Slice
- Tk::Tcllib::Tooltip
- Tk::Tcllib::Validator
- Tk::Tcllib::Widget
- Tk::Tcllib::Widget::Calendar
- Tk::Tcllib::Widget::Canvas_Sqmap
- Tk::Tcllib::Widget::Canvas_Zoom
- Tk::Tcllib::Widget::DateEntry
- Tk::Tcllib::Widget::Dateentry
- Tk::Tcllib::Widget::Dialog
- Tk::Tcllib::Widget::MenuEntry
- Tk::Tcllib::Widget::Menuentry
- Tk::Tcllib::Widget::PanelFrame
- Tk::Tcllib::Widget::Panelframe
- Tk::Tcllib::Widget::Ruler
- Tk::Tcllib::Widget::ScreenRuler
- Tk::Tcllib::Widget::Screenruler
- Tk::Tcllib::Widget::ScrolledWindow
- Tk::Tcllib::Widget::Scrolledwindow
- Tk::Tcllib::Widget::Statusbar
- Tk::Tcllib::Widget::SuperFrame
- Tk::Tcllib::Widget::Toolbar
- Tk::Tcllib::Widget::ToolbarItem
- Tk::Tcllib::Widget::ToolbarItemConfig
- Tk::Text
- Tk::Text::IndexModMethods
- Tk::Text::IndexString
- Tk::Text::Peer
- Tk::Tile
- Tk::Tile::Button
- Tk::Tile::CheckButton
- Tk::Tile::Checkbutton
- Tk::Tile::Combobox
- Tk::Tile::Dialog
- Tk::Tile::Entry
- Tk::Tile::Font
- Tk::Tile::Frame
- Tk::Tile::KeyNav
- Tk::Tile::Label
- Tk::Tile::LabelFrame
- Tk::Tile::Labelframe
- Tk::Tile::MenuButton
- Tk::Tile::Menubutton
- Tk::Tile::Notebook
- Tk::Tile::ParseStyleLayout
- Tk::Tile::Progress
- Tk::Tile::Progressbar
- Tk::Tile::RadioButton
- Tk::Tile::Radiobutton
- Tk::Tile::Scale
- Tk::Tile::Scrollbar
- Tk::Tile::Separator
- Tk::Tile::SizeGrip
- Tk::Tile::Sizegrip
- Tk::Tile::Spinbox
- Tk::Tile::Square
- Tk::Tile::Style
- Tk::Tile::TButton
- Tk::Tile::TCheckButton
- Tk::Tile::TCheckbutton
- Tk::Tile::TCombobox
- Tk::Tile::TEntry
- Tk::Tile::TFrame
- Tk::Tile::TLabel
- Tk::Tile::TLabelFrame
- Tk::Tile::TLabelframe
- Tk::Tile::TMenuButton
- Tk::Tile::TMenubutton
- Tk::Tile::TNotebook
- Tk::Tile::TPaned
- Tk::Tile::TProgress
- Tk::Tile::TProgressbar
- Tk::Tile::TRadioButton
- Tk::Tile::TRadiobutton
- Tk::Tile::TScale
- Tk::Tile::TScrollbar
- Tk::Tile::TSeparator
- Tk::Tile::TSpinbox
- Tk::Tile::TSpinbox::SpinCommand
- Tk::Tile::TSpinbox::SpinCommand::ValidateArgs
- Tk::Tile::TSquare
- Tk::Tile::TileWidget
- Tk::Tile::Treeview
- Tk::Tile::Treeview::Item
- Tk::Tile::Treeview::Root
- Tk::Tile::Treeview::Tag
- Tk::Tile::TreeviewConfig
- Tk::Tile::XScrollbar
- Tk::Tile::YScrollbar
- Tk::TkDND
- Tk::TkDND::DND
- Tk::TkDND::DND_Subst
- Tk::TkDND::Shape
- Tk::TkSystemMenu
- Tk::TkTable
- Tk::TkTable::BrowseCommand
- Tk::TkTable::BrowseCommand::ValidateArgs
- Tk::TkTable::CellCommand
- Tk::TkTable::CellCommand::ValidateArgs
- Tk::TkTable::CellTag
- Tk::TkTable::ConfigMethod
- Tk::TkTable::NamedCellTag
- Tk::TkTable::SelectionCommand
- Tk::TkTable::SelectionCommand::ValidateArgs
- Tk::TkTable::ValidateCommand
- Tk::TkTable::ValidateCommand::ValidateArgs
- Tk::TkTrans
- Tk::Toplevel
- Tk::TreeCtrl
- Tk::TreeCtrl::BindCallback
- Tk::TreeCtrl::BitmapElement
- Tk::TreeCtrl::BorderElement
- Tk::TreeCtrl::Column
- Tk::TreeCtrl::ConfigMethod
- Tk::TreeCtrl::Element
- Tk::TreeCtrl::ImageElement
- Tk::TreeCtrl::Item
- Tk::TreeCtrl::NotifyEvent
- Tk::TreeCtrl::RectangleElement
- Tk::TreeCtrl::Style
- Tk::TreeCtrl_Widget
- Tk::Trofs
- Tk::Ttk
- Tk::UTF8_String
- Tk::ValidateConfigure
- Tk::Vu
- Tk::Vu::Bargraph
- Tk::Vu::ChartsConfig
- Tk::Vu::Dial
- Tk::Vu::NamedPieSlice
- Tk::Vu::Pie
- Tk::Vu::PieSlice
- Tk::Vu::PieSliceConfigMethod
- Tk::Vu::TkcBarchart
- Tk::Vu::TkcSticker
- Tk::Vu::TkcStripchart
- Tk::WinDDE
- Tk::WinRegistry
- Tk::Winico
- Tk::Winico::Winico_callback
- Tk::Winico::Winico_callback::ValidateArgs
- Tk::Wm
- Tk::Wm_for_General
- Tk::XScrollable
- Tk::XScrollbar
- Tk::X_Scrollable
- Tk::YScrollable
- Tk::YScrollbar
- Tk::Y_Scrollable
- TkAfter
- TkBgError
- TkBindCore
- TkBindTag
- TkBindTagAll
- TkBitmapImage
- TkCallbackBreak
- TkCallbackContinue
- TkCallbackEntry
- TkCallbackRedo
- TkCallbackRetry
- TkCallbackReturn
- TkCallbackThrow
- TkCanvasItemConfig
- TkClipboard
- TkComm
- TkComposite
- TkConfigMethod
- TkConsole
- TkCore
- TkCore::Tk_OBJECT_TABLE
- TkDatabaseClass
- TkDialog
- TkDialog2
- TkDialogObj
- TkEvent
- TkEvent::Event
- TkEvent::Event::Grp
- TkEvent::Event::StateMask
- TkEvent::Event::TypeNum
- TkFont
- TkFont::Chooser
- TkFont::CoreMethods
- TkFont::DescendantFont
- TkFont::Fontchooser
- TkGrid
- TkImage
- TkItemConfigMethod
- TkItemConfigOptkeys
- TkItemFontOptkeys
- TkKernel
- TkKinput
- TkListItemConfig
- TkLocalJumpError
- TkManageFocus
- TkMenuEntryConfig
- TkMenuSpec
- TkMenubar
- TkMsgCat
- TkMsgCatalog
- TkNamedFont
- TkNamespace
- TkNamespace::Ensemble
- TkNamespace::NsCode
- TkNamespace::ScopeArgs
- TkObject
- TkOption
- TkOptionDB
- TkOptionDB::Priority
- TkPack
- TkPackage
- TkPalette
- TkPhotoImage
- TkPixmapImage
- TkPlace
- TkRTTimer
- TkResourceDB
- TkScrollbox
- TkSelection
- TkTextImage
- TkTextMark
- TkTextMarkAnchor
- TkTextMarkCurrent
- TkTextMarkInsert
- TkTextNamedMark
- TkTextNamedTag
- TkTextTag
- TkTextTagConfig
- TkTextTagSel
- TkTextWin
- TkTextWindow
- TkTimer
- TkTreatFont
- TkTreatItemFont
- TkTreatTagFont
- TkUtil
- TkUtil::CallbackSubst
- TkUtil::CallbackSubst::Info
- TkValidateCommand
- TkValidateCommand::ValidateArgs
- TkValidation
- TkValidation::ValidateCmd
- TkValidation::ValidateCmd::Action
- TkVarAccess
- TkVariable
- TkVirtualEvent
- TkVirtualEvent::PreDefVirtEvent
- TkVirtualEvent::TkNamedVirtualEvent
- TkWarning
- TkWarning2
- TkWarningObj
- TkWidget
- TkWindow
- TkWinfo
- TkXIM
- TkcArc
- TkcBitmap
- TkcGroup
- TkcImage
- TkcItem
- TkcLine
- TkcNamedTag
- TkcOval
- TkcPolygon
- TkcRectangle
- TkcTag
- TkcTagAccess
- TkcTagAll
- TkcTagCurrent
- TkcTagString
- TkcText
- TkcWindow
- TktImage
- TktMark
- TktMarkAnchor
- TktMarkCurrent
- TktMarkInsert
- TktNamedMark
- TktNamedTag
- TktTag
- TktTagSel
- TktWindow
- Variable
- VirtualEvent
- WindowItem
- Winfo
- unknown

No matching classes.

# Tk::Text

### Constants

ItemConfCMD
TkCommandNames
WidgetClassName

### Public Class Methods

at(x, y) click to toggle source

                   # File tk/lib/tk/text.rb, line 306
    def self.at(x, y)
      Tk::Text::IndexString.at(x, y)
    end

new(*args, &block) click to toggle source

                   # File tk/lib/tk/text.rb, line 262
    def self.new(*args, &block)
      obj = super(*args){}
      obj.init_instance_variable
      if TkCore::WITH_RUBY_VM  ### Ruby 1.9 !!!!
        obj.instance_exec(obj, &block) if defined? yield
      else
        obj.instance_eval(&block) if defined? yield
      end
      obj
    end

### Public Instance Methods

__destroy_hook__() click to toggle source

                   # File tk/lib/tk/text.rb, line 278
    def __destroy_hook__
      TkTextTag::TTagID_TBL.mutex.synchronize{
        TkTextTag::TTagID_TBL.delete(@path)
      }
      TkTextTag::TMarkID_TBL.mutex.synchronize{
        TkTextMark::TMarkID_TBL.delete(@path)
      }
    end

_addcmd(cmd) click to toggle source

                   # File tk/lib/tk/text.rb, line 340
    def _addcmd(cmd)
      @cmdtbl.push cmd
    end

_addtag(name, obj) click to toggle source

                   # File tk/lib/tk/text.rb, line 344
    def _addtag(name, obj)
      @tags[name] = obj
    end

add_tag(tag, index1, index2=None) click to toggle source
Alias for: tag_add
addtag(tag, index1, index2=None) click to toggle source
Alias for: tag_add
at(x, y) click to toggle source

                   # File tk/lib/tk/text.rb, line 310
    def at(x, y)
      Tk::Text::IndexString.at(x, y)
    end

backspace() click to toggle source

                   # File tk/lib/tk/text.rb, line 620
    def backspace
      self.delete 'insert'
    end

bbox(index) click to toggle source

                   # File tk/lib/tk/text.rb, line 624
    def bbox(index)
      list(tk_send_without_enc('bbox', _get_eval_enc_str(index)))
    end

clear() click to toggle source

                   # File tk/lib/tk/text.rb, line 334
    def clear
      tk_send_without_enc('delete', "1.0", 'end')
      self
    end

Also aliased as: erase
compare(idx1, op, idx2) click to toggle source

                   # File tk/lib/tk/text.rb, line 628
    def compare(idx1, op, idx2)
      bool(tk_send_without_enc('compare', _get_eval_enc_str(idx1),
                               op, _get_eval_enc_str(idx2)))
    end

count(idx1, idx2, *opts) click to toggle source

                   # File tk/lib/tk/text.rb, line 633
    def count(idx1, idx2, *opts)
      # opts are Tk8.5 feature
      cnt = 0
      args = opts.collect{|opt|
        str = opt.to_s
        cnt += 1 if str != 'update'
        '-' + str
      }
      args << _get_eval_enc_str(idx1) << _get_eval_enc_str(idx2)
      if cnt <= 1
        number(tk_send_without_enc('count', *opts))
      else
        list(tk_send_without_enc('count', *opts))
      end
    end

count_info(idx1, idx2, update=true) click to toggle source

                   # File tk/lib/tk/text.rb, line 649
    def count_info(idx1, idx2, update=true)
      # Tk8.5 feature
      opts = [
        :chars, :displaychars, :displayindices, :displaylines,
        :indices, :lines, :xpixels, :ypixels
      ]
      if update
        lst = count(idx1, idx2, :update, *opts)
      else
        lst = count(idx1, idx2, *opts)
      end
      info = {}
      opts.each_with_index{|key, idx| info[key] = lst[idx]}
      info
    end

current_image_configinfo(index, slot = nil) click to toggle source

                   # File tk/lib/tk/text.rb, line 555
    def current_image_configinfo(index, slot = nil)
      if TkComm::GET_CONFIGINFO_AS_ARRAY
        if slot
          conf = image_configinfo(index, slot)
          {conf[0] => conf[4]}
        else
          ret = {}
          image_configinfo(index).each{|conf|
            ret[conf[0]] = conf[4] if conf.size > 2
          }
          ret
        end
      else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
        ret = {}
        image_configinfo(index, slot).each{|k, conf|
          ret[k] = conf[-1] if conf.kind_of?(Array)
        }
        ret
      end
    end

debug() click to toggle source

                   # File tk/lib/tk/text.rb, line 675
    def debug
      bool(tk_send_without_enc('debug'))
    end

debug=(boolean) click to toggle source

                   # File tk/lib/tk/text.rb, line 678
    def debug=(boolean)
      tk_send_without_enc('debug', boolean)
      #self
      boolean
    end

delete_tag(*tags) click to toggle source
Alias for: tag_delete
deltag(*tags) click to toggle source
Alias for: tag_delete
destroy() click to toggle source

                   # File tk/lib/tk/text.rb, line 612
    def destroy
      @tags = {} unless @tags
      @tags.each_value do |t|
        t.destroy
      end
      super()
    end

dlineinfo(index) click to toggle source

                   # File tk/lib/tk/text.rb, line 684
    def dlineinfo(index)
      list(tk_send_without_enc('dlineinfo', _get_eval_enc_str(index)))
    end

dump(type_info, *index, &block) click to toggle source

                   # File tk/lib/tk/text.rb, line 1439
    def dump(type_info, *index, &block)
      if type_info.kind_of?(Symbol)
        type_info = [ type_info.to_s ]
      elsif type_info.kind_of?(String)
        type_info = [ type_info ]
      end
      args = type_info.collect{|inf| '-' + inf}
      args << '-command' << block if block
      str = tk_send('dump', *(args + index))
      result = []
      sel = nil
      i = 0
      while i < str.size
        # retrieve key
        idx = str.index(/ /, i)
        result.push str[i..(idx-1)]
        i = idx + 1

        # retrieve value
        case result[-1]
        when 'text'
          if str[i] == ?{
            # text formed as {...}
            val, i = _retrieve_braced_text(str, i)
            result.push val
          else
            # text which may contain backslahes
            val, i = _retrieve_backslashed_text(str, i)
            result.push val
          end
        else
          idx = str.index(/ /, i)
          val = str[i..(idx-1)]
          case result[-1]
          when 'mark'
            case val
            when 'insert'
              result.push TkTextMarkInsert.new(self)
            when 'current'
              result.push TkTextMarkCurrent.new(self)
            when 'anchor'
              result.push TkTextMarkAnchor.new(self)
            else
              result.push tk_tcl2ruby(val)
            end
          when 'tagon'
            if val == 'sel'
              if sel
                result.push sel
              else
                result.push TkTextTagSel.new(self)
              end
            else
              result.push tk_tcl2ruby(val)
            end
          when 'tagoff'
              result.push tk_tcl2ruby(val)
          when 'window'
            result.push tk_tcl2ruby(val)
          when 'image'
            result.push tk_tcl2ruby(val)
          end
          i = idx + 1
        end

        # retrieve index
        idx = str.index(/ /, i)
        if idx
          result.push(Tk::Text::IndexString.new(str[i..(idx-1)]))
          i = idx + 1
        else
          result.push(Tk::Text::IndexString.new(str[i..-1]))
          break
        end
      end

      kvis = []
      until result.empty?
        kvis.push [result.shift, result.shift, result.shift]
      end
      kvis  # result is [[key1, value1, index1], [key2, value2, index2], ...]
    end

dump_all(*index, &block) click to toggle source

                   # File tk/lib/tk/text.rb, line 1558
    def dump_all(*index, &block)
      dump(['all'], *index, &block)
    end

dump_image(*index, &block) click to toggle source

                   # File tk/lib/tk/text.rb, line 1573
    def dump_image(*index, &block)
      dump(['image'], *index, &block)
    end

dump_mark(*index, &block) click to toggle source

                   # File tk/lib/tk/text.rb, line 1561
    def dump_mark(*index, &block)
      dump(['mark'], *index, &block)
    end

dump_tag(*index, &block) click to toggle source

                   # File tk/lib/tk/text.rb, line 1564
    def dump_tag(*index, &block)
      dump(['tag'], *index, &block)
    end

dump_text(*index, &block) click to toggle source

                   # File tk/lib/tk/text.rb, line 1567
    def dump_text(*index, &block)
      dump(['text'], *index, &block)
    end

dump_window(*index, &block) click to toggle source

                   # File tk/lib/tk/text.rb, line 1570
    def dump_window(*index, &block)
      dump(['window'], *index, &block)
    end

edit_redo() click to toggle source

                   # File tk/lib/tk/text.rb, line 700
    def edit_redo
      tk_send_without_enc('edit', 'redo')
      self
    end

edit_reset() click to toggle source

                   # File tk/lib/tk/text.rb, line 704
    def edit_reset
      tk_send_without_enc('edit', 'reset')
      self
    end

edit_separator() click to toggle source

                   # File tk/lib/tk/text.rb, line 708
    def edit_separator
      tk_send_without_enc('edit', 'separator')
      self
    end

edit_undo() click to toggle source

                   # File tk/lib/tk/text.rb, line 712
    def edit_undo
      tk_send_without_enc('edit', 'undo')
      self
    end

erase() click to toggle source
Alias for: clear
get_displaychars(*index) click to toggle source

                   # File tk/lib/tk/text.rb, line 319
    def get_displaychars(*index)
      # Tk8.5 feature
      get('-displaychars', *index)
    end

image_cget(index, slot) click to toggle source

                   # File tk/lib/tk/text.rb, line 430
    def image_cget(index, slot)
      unless TkItemConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
        image_cget_strict(index, slot)
      else
        begin
          image_cget_strict(index, slot)
        rescue => e
          begin
            if current_image_configinfo(index).has_key?(slot.to_s)
              # not tag error & option is known -> error on known option
              fail e
            else
              # not tag error & option is unknown
              nil
            end
          rescue
            fail e  # tag error
          end
        end
      end
    end

image_cget_strict(index, slot) click to toggle source

                   # File tk/lib/tk/text.rb, line 418
    def image_cget_strict(index, slot)
      case slot.to_s
      when 'text', 'label', 'show', 'data', 'file'
        _fromUTF8(tk_send_without_enc('image', 'cget',
                                      _get_eval_enc_str(index), "-#{slot}"))
      else
        tk_tcl2ruby(_fromUTF8(tk_send_without_enc('image', 'cget',
                                                  _get_eval_enc_str(index),
                                                  "-#{slot}")))
      end
    end

image_configinfo(index, slot = nil) click to toggle source

                   # File tk/lib/tk/text.rb, line 466
    def image_configinfo(index, slot = nil)
      if TkComm::GET_CONFIGINFO_AS_ARRAY
        if slot
          case slot.to_s
          when 'text', 'label', 'show', 'data', 'file'
            #conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}")))
            conf = tk_split_simplelist(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}"), false, true)
          else
            #conf = tk_split_list(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}")))
            conf = tk_split_list(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}"), 0, false, true)
          end
          conf[0] = conf[0][1..-1]
          conf
        else
          # tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index)))).collect{|conflist|
          #  conf = tk_split_simplelist(conflist)
          tk_split_simplelist(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index)), false, false).collect{|conflist|
            conf = tk_split_simplelist(conflist, false, true)
            conf[0] = conf[0][1..-1]
            case conf[0]
            when 'text', 'label', 'show', 'data', 'file'
            else
              if conf[3]
                if conf[3].index('{')
                  conf[3] = tk_split_list(conf[3])
                else
                  conf[3] = tk_tcl2ruby(conf[3])
                end
              end
              if conf[4]
                if conf[4].index('{')
                  conf[4] = tk_split_list(conf[4])
                else
                  conf[4] = tk_tcl2ruby(conf[4])
                end
              end
            end
            conf[1] = conf[1][1..-1] if conf.size == 2 # alias info
            conf
          }
        end
      else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
        if slot
          case slot.to_s
          when 'text', 'label', 'show', 'data', 'file'
            #conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}")))
            conf = tk_split_simplelist(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}"), false, true)
          else
            #conf = tk_split_list(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}")))
            conf = tk_split_list(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index), "-#{slot}"), 0, false, true)
          end
          key = conf.shift[1..-1]
          { key => conf }
        else
          ret = {}
          #tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index)))).each{|conflist|
          #  conf = tk_split_simplelist(conflist)
          tk_split_simplelist(tk_send_without_enc('image', 'configure', _get_eval_enc_str(index)), false, false).each{|conflist|
            conf = tk_split_simplelist(conflist, false, true)
            key = conf.shift[1..-1]
            case key
            when 'text', 'label', 'show', 'data', 'file'
            else
              if conf[2]
                if conf[2].index('{')
                  conf[2] = tk_split_list(conf[2])
                else
                  conf[2] = tk_tcl2ruby(conf[2])
                end
              end
              if conf[3]
                if conf[3].index('{')
                  conf[3] = tk_split_list(conf[3])
                else
                  conf[3] = tk_tcl2ruby(conf[3])
                end
              end
            end
            if conf.size == 1
              ret[key] = conf[0][1..-1]  # alias info
            else
              ret[key] = conf
            end
          }
          ret
        end
      end
    end

image_configure(index, slot, value=None) click to toggle source

                   # File tk/lib/tk/text.rb, line 452
    def image_configure(index, slot, value=None)
      if slot.kind_of?(Hash)
        _fromUTF8(tk_send_without_enc('image', 'configure',
                                      _get_eval_enc_str(index),
                                      *hash_kv(slot, true)))
      else
        _fromUTF8(tk_send_without_enc('image', 'configure',
                                      _get_eval_enc_str(index),
                                      "-#{slot}",
                                      _get_eval_enc_str(value)))
      end
      self
    end

image_names() click to toggle source

                   # File tk/lib/tk/text.rb, line 576
    def image_names
      #tk_split_simplelist(_fromUTF8(tk_send_without_enc('image', 'names'))).collect{|elt|
      tk_split_simplelist(tk_send_without_enc('image', 'names'), false, true).collect{|elt|
        tagid2obj(elt)
      }
    end

index(idx) click to toggle source

                   # File tk/lib/tk/text.rb, line 314
    def index(idx)
      Tk::Text::IndexString.new(tk_send_without_enc('index',
                                                    _get_eval_enc_str(idx)))
    end

init_instance_variable() click to toggle source

                   # File tk/lib/tk/text.rb, line 273
    def init_instance_variable
      @cmdtbl = []
      @tags = {}
    end

insert(index, chars, *tags) click to toggle source

                   # File tk/lib/tk/text.rb, line 593
    def insert(index, chars, *tags)
      if tags[0].kind_of?(Array)
        # multiple chars-taglist argument :: str, [tag,...], str, [tag,...], ...
        args = [chars]
        while tags.size > 0
          args << tags.shift.collect{|x|_get_eval_string(x)}.join(' ')  # taglist
          args << tags.shift if tags.size > 0                           # chars
        end
        super(index, *args)
      else
        # single chars-taglist argument :: str, tag, tag, ...
        if tags.size == 0
          super(index, chars)
        else
          super(index, chars, tags.collect{|x|_get_eval_string(x)}.join(' '))
        end
      end
    end

mark_gravity(mark, direction=nil) click to toggle source

                   # File tk/lib/tk/text.rb, line 382
    def mark_gravity(mark, direction=nil)
      if direction
        tk_send_without_enc('mark', 'gravity',
                            _get_eval_enc_str(mark), direction)
        self
      else
        tk_send_without_enc('mark', 'gravity', _get_eval_enc_str(mark))
      end
    end

mark_names() click to toggle source

                   # File tk/lib/tk/text.rb, line 375
    def mark_names
      #tk_split_simplelist(_fromUTF8(tk_send_without_enc('mark', 'names'))).collect{|elt|
      tk_split_simplelist(tk_send_without_enc('mark', 'names'), false, true).collect{|elt|
        tagid2obj(elt)
      }
    end

mark_next(index) click to toggle source

                   # File tk/lib/tk/text.rb, line 406
    def mark_next(index)
      tagid2obj(_fromUTF8(tk_send_without_enc('mark', 'next',
                                              _get_eval_enc_str(index))))
    end

Also aliased as: next_mark
mark_previous(index) click to toggle source

                   # File tk/lib/tk/text.rb, line 412
    def mark_previous(index)
      tagid2obj(_fromUTF8(tk_send_without_enc('mark', 'previous',
                                              _get_eval_enc_str(index))))
    end

Also aliased as: previous_mark
mark_set(mark, index) click to toggle source

                   # File tk/lib/tk/text.rb, line 392
    def mark_set(mark, index)
      tk_send_without_enc('mark', 'set', _get_eval_enc_str(mark),
                          _get_eval_enc_str(index))
      self
    end

Also aliased as: set_mark
mark_unset(*marks) click to toggle source

                   # File tk/lib/tk/text.rb, line 399
    def mark_unset(*marks)
      tk_send_without_enc('mark', 'unset',
                          *(marks.collect{|mark| _get_eval_enc_str(mark)}))
      self
    end

Also aliased as: unset_mark
modified(mode) click to toggle source

                   # File tk/lib/tk/text.rb, line 691
    def modified(mode)
      tk_send_without_enc('edit', 'modified', mode)
      self
    end

modified=(mode) click to toggle source

                   # File tk/lib/tk/text.rb, line 695
    def modified=(mode)
      modified(mode)
      mode
    end

modified?() click to toggle source

                   # File tk/lib/tk/text.rb, line 688
    def modified?
      bool(tk_send_without_enc('edit', 'modified'))
    end

next_mark(index) click to toggle source
Alias for: mark_next
peer_names() click to toggle source

                   # File tk/lib/tk/text.rb, line 665
    def peer_names()
      # Tk8.5 feature
      list(tk_send_without_enc('peer', 'names'))
    end

previous_mark(index) click to toggle source
Alias for: mark_previous
replace(idx1, idx2, *opts) click to toggle source

                   # File tk/lib/tk/text.rb, line 670
    def replace(idx1, idx2, *opts)
      tk_send('replace', idx1, idx2, *opts)
      self
    end

rsearch(pat,start,stop=None) click to toggle source

                   # File tk/lib/tk/text.rb, line 1435
    def rsearch(pat,start,stop=None)
      rsearch_with_length(pat,start,stop)[0]
    end

rsearch_with_length(pat,start,stop=None) click to toggle source

                   # File tk/lib/tk/text.rb, line 1383
    def rsearch_with_length(pat,start,stop=None)
      pat = pat.chr if pat.kind_of?(Integer)
      if stop != None
        return ["", 0] if compare(start,'<=',stop)
        txt = get(stop,start)
        if (pos = txt.rindex(pat))
          match = $&
          #pos = txt[0..(pos-1)].split('').length if pos > 0
          pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
          if pat.kind_of?(String)
            #return [index(stop + " + #{pos} chars"), pat.split('').length]
            return [index(stop + " + #{pos} chars"), _ktext_length(pat), pat.dup]
          else
            #return [index(stop + " + #{pos} chars"), $&.split('').length]
            return [index(stop + " + #{pos} chars"), _ktext_length(match), match]
          end
        else
          return ["", 0]
        end
      else
        txt = get('1.0',start)
        if (pos = txt.rindex(pat))
          match = $&
          #pos = txt[0..(pos-1)].split('').length if pos > 0
          pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
          if pat.kind_of?(String)
            #return [index("1.0 + #{pos} chars"), pat.split('').length]
            return [index("1.0 + #{pos} chars"), _ktext_length(pat), pat.dup]
          else
            #return [index("1.0 + #{pos} chars"), $&.split('').length]
            return [index("1.0 + #{pos} chars"), _ktext_length(match), match]
          end
        else
          txt = get('1.0','end - 1 char')
          if (pos = txt.rindex(pat))
            match = $&
            #pos = txt[0..(pos-1)].split('').length if pos > 0
            pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
            if pat.kind_of?(String)
              #return [index("1.0 + #{pos} chars"), pat.split('').length]
              return [index("1.0 + #{pos} chars"), _ktext_length(pat), pat.dup]
            else
              #return [index("1.0 + #{pos} chars"), $&.split('').length]
              return [index("1.0 + #{pos} chars"), _ktext_length(match), match]
            end
          else
            return ["", 0]
          end
        end
      end
    end

search(pat,start,stop=None) click to toggle source

                   # File tk/lib/tk/text.rb, line 1379
    def search(pat,start,stop=None)
      search_with_length(pat,start,stop)[0]
    end

search_with_length(pat,start,stop=None) click to toggle source

                   # File tk/lib/tk/text.rb, line 1322
    def search_with_length(pat,start,stop=None)
      pat = pat.chr if pat.kind_of?(Integer)
      if stop != None
        return ["", 0] if compare(start,'>=',stop)
        txt = get(start,stop)
        if (pos = txt.index(pat))
          match = $&
          #pos = txt[0..(pos-1)].split('').length if pos > 0
          pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
          if pat.kind_of?(String)
            #return [index(start + " + #{pos} chars"), pat.split('').length]
            return [index(start + " + #{pos} chars"),
                    _ktext_length(pat), pat.dup]
          else
            #return [index(start + " + #{pos} chars"), $&.split('').length]
            return [index(start + " + #{pos} chars"),
                    _ktext_length(match), match]
          end
        else
          return ["", 0]
        end
      else
        txt = get(start,'end - 1 char')
        if (pos = txt.index(pat))
          match = $&
          #pos = txt[0..(pos-1)].split('').length if pos > 0
          pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
          if pat.kind_of?(String)
            #return [index(start + " + #{pos} chars"), pat.split('').length]
            return [index(start + " + #{pos} chars"),
                    _ktext_length(pat), pat.dup]
          else
            #return [index(start + " + #{pos} chars"), $&.split('').length]
            return [index(start + " + #{pos} chars"),
                    _ktext_length(match), match]
          end
        else
          txt = get('1.0','end - 1 char')
          if (pos = txt.index(pat))
            match = $&
            #pos = txt[0..(pos-1)].split('').length if pos > 0
            pos = _ktext_length(txt[0..(pos-1)]) if pos > 0
            if pat.kind_of?(String)
              #return [index("1.0 + #{pos} chars"), pat.split('').length]
              return [index("1.0 + #{pos} chars"),
                      _ktext_length(pat), pat.dup]
            else
              #return [index("1.0 + #{pos} chars"), $&.split('').length]
              return [index("1.0 + #{pos} chars"), _ktext_length(match), match]
            end
          else
            return ["", 0]
          end
        end
      end
    end

set_current(index) click to toggle source

                   # File tk/lib/tk/text.rb, line 588
    def set_current(index)
      tk_send_without_enc('mark','set','current', _get_eval_enc_str(index))
      self
    end

set_insert(index) click to toggle source

                   # File tk/lib/tk/text.rb, line 583
    def set_insert(index)
      tk_send_without_enc('mark','set','insert', _get_eval_enc_str(index))
      self
    end

set_mark(mark, index) click to toggle source
Alias for: mark_set
tag_add(tag, index1, index2=None) click to toggle source

                   # File tk/lib/tk/text.rb, line 745
    def tag_add(tag, index1, index2=None)
      tk_send_without_enc('tag', 'add', _get_eval_enc_str(tag),
                          _get_eval_enc_str(index1),
                          _get_eval_enc_str(index2))
      self
    end

Also aliased as: addtag, add_tag
tag_bind(tag, seq, *args) click to toggle source

def #tag_bind(tag, seq, cmd=Proc.new, *args)

    _bind([@path, 'tag', 'bind', tag], seq, cmd, *args)
    self

end

                   # File tk/lib/tk/text.rb, line 777
    def tag_bind(tag, seq, *args)
      # if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
      if TkComm._callback_entry?(args[0]) || !block_given?
        cmd = args.shift
      else
        cmd = Proc.new
      end
      _bind([@path, 'tag', 'bind', tag], seq, cmd, *args)
      self
    end

tag_bind_append(tag, seq, *args) click to toggle source

def #tag_bind_append(tag, seq, cmd=Proc.new, *args)

    _bind_append([@path, 'tag', 'bind', tag], seq, cmd, *args)
    self

end

                   # File tk/lib/tk/text.rb, line 792
    def tag_bind_append(tag, seq, *args)
      # if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
      if TkComm._callback_entry?(args[0]) || !block_given?
        cmd = args.shift
      else
        cmd = Proc.new
      end
      _bind_append([@path, 'tag', 'bind', tag], seq, cmd, *args)
      self
    end

tag_bind_remove(tag, seq) click to toggle source

                   # File tk/lib/tk/text.rb, line 803
    def tag_bind_remove(tag, seq)
      _bind_remove([@path, 'tag', 'bind', tag], seq)
      self
    end

tag_bindinfo(tag, context=nil) click to toggle source

                   # File tk/lib/tk/text.rb, line 808
    def tag_bindinfo(tag, context=nil)
      _bindinfo([@path, 'tag', 'bind', tag], context)
    end

tag_delete(*tags) click to toggle source

                   # File tk/lib/tk/text.rb, line 754
    def tag_delete(*tags)
      tk_send_without_enc('tag', 'delete',
                          *(tags.collect{|tag| _get_eval_enc_str(tag)}))
      TkTextTag::TTagID_TBL.mutex.synchronize{
        if TkTextTag::TTagID_TBL[@path]
          tags.each{|tag|
            if tag.kind_of?(TkTextTag)
              TkTextTag::TTagID_TBL[@path].delete(tag.id)
            else
              TkTextTag::TTagID_TBL[@path].delete(tag)
            end
          }
        end
      }
      self
    end

Also aliased as: deltag, delete_tag
tag_lower(tag, below=None) click to toggle source

                   # File tk/lib/tk/text.rb, line 994
    def tag_lower(tag, below=None)
      tk_send_without_enc('tag', 'lower', _get_eval_enc_str(tag),
                          _get_eval_enc_str(below))
      self
    end

tag_names(index=None) click to toggle source

                   # File tk/lib/tk/text.rb, line 368
    def tag_names(index=None)
      #tk_split_simplelist(_fromUTF8(tk_send_without_enc('tag', 'names', _get_eval_enc_str(index)))).collect{|elt|
      tk_split_simplelist(tk_send_without_enc('tag', 'names', _get_eval_enc_str(index)), false, true).collect{|elt|
        tagid2obj(elt)
      }
    end

tag_nextrange(tag, first, last=None) click to toggle source

                   # File tk/lib/tk/text.rb, line 1019
    def tag_nextrange(tag, first, last=None)
      simplelist(tk_send_without_enc('tag', 'nextrange',
                                     _get_eval_enc_str(tag),
                                     _get_eval_enc_str(first),
                                     _get_eval_enc_str(last))).collect{|idx|
        Tk::Text::IndexString.new(idx)
      }
    end

tag_prevrange(tag, first, last=None) click to toggle source

                   # File tk/lib/tk/text.rb, line 1028
    def tag_prevrange(tag, first, last=None)
      simplelist(tk_send_without_enc('tag', 'prevrange',
                                     _get_eval_enc_str(tag),
                                     _get_eval_enc_str(first),
                                     _get_eval_enc_str(last))).collect{|idx|
        Tk::Text::IndexString.new(idx)
      }
    end

tag_raise(tag, above=None) click to toggle source

# begin¶ ↑

    def tag_cget(tag, key)
      case key.to_s
      when 'text', 'label', 'show', 'data', 'file'
        tk_call_without_enc(@path, 'tag', 'cget',
                            _get_eval_enc_str(tag), "-#{key}")
      when 'font', 'kanjifont'
        #fnt = tk_tcl2ruby(tk_send('tag', 'cget', tag, "-#{key}"))
        fnt = tk_tcl2ruby(_fromUTF8(tk_send_without_enc('tag','cget',_get_eval_enc_str(tag),'-font')))
        unless fnt.kind_of?(TkFont)
          fnt = tagfontobj(tag, fnt)
        end
        if key.to_s == 'kanjifont' && JAPANIZED_TK && TK_VERSION =~ /^4\.*/
          # obsolete; just for compatibility
          fnt.kanji_font
        else
          fnt
        end
      else
        tk_tcl2ruby(_fromUTF8(tk_call_without_enc(@path,'tag','cget',_get_eval_enc_str(tag),"-#{key}")))
      end
    end

    def tag_configure(tag, key, val=None)
      if key.kind_of?(Hash)
        key = _symbolkey2str(key)
        if ( key['font'] || key['kanjifont'] \
            || key['latinfont'] || key['asciifont'] )
          tagfont_configure(tag, key)
        else
          tk_send_without_enc('tag', 'configure', _get_eval_enc_str(tag),
                              *hash_kv(key, true))
        end

      else
        if  key == 'font' || key == :font ||
            key == 'kanjifont' || key == :kanjifont ||
            key == 'latinfont' || key == :latinfont ||
            key == 'asciifont' || key == :asciifont
          if val == None
            tagfontobj(tag)
          else
            tagfont_configure(tag, {key=>val})
          end
        else
          tk_send_without_enc('tag', 'configure', _get_eval_enc_str(tag),
                              "-#{key}", _get_eval_enc_str(val))
        end
      end
      self
    end

    def tag_configinfo(tag, key=nil)
      if TkComm::GET_CONFIGINFO_AS_ARRAY
        if key
          case key.to_s
          when 'text', 'label', 'show', 'data', 'file'
            conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('tag','configure',_get_eval_enc_str(tag),"-#{key}")))
          when 'font', 'kanjifont'
            conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('tag','configure',_get_eval_enc_str(tag),"-#{key}")))
            conf[4] = tagfont_configinfo(tag, conf[4])
          else
            conf = tk_split_list(_fromUTF8(tk_send_without_enc('tag','configure',_get_eval_enc_str(tag),"-#{key}")))
          end
          conf[0] = conf[0][1..-1]
          conf
        else
          ret = tk_split_simplelist(_fromUTF8(tk_send('tag','configure',_get_eval_enc_str(tag)))).collect{|conflist|
            conf = tk_split_simplelist(conflist)
            conf[0] = conf[0][1..-1]
            case conf[0]
            when 'text', 'label', 'show', 'data', 'file'
            else
              if conf[3]
                if conf[3].index('{')
                  conf[3] = tk_split_list(conf[3])
                else
                  conf[3] = tk_tcl2ruby(conf[3])
                end
              end
              if conf[4]
                if conf[4].index('{')
                  conf[4] = tk_split_list(conf[4])
                else
                  conf[4] = tk_tcl2ruby(conf[4])
                end
              end
            end
            conf[1] = conf[1][1..-1] if conf.size == 2 # alias info
            conf
          }
          fontconf = ret.assoc('font')
          if fontconf
            ret.delete_if{|item| item[0] == 'font' || item[0] == 'kanjifont'}
            fontconf[4] = tagfont_configinfo(tag, fontconf[4])
            ret.push(fontconf)
          else
            ret
          end
        end
      else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
        if key
          case key.to_s
          when 'text', 'label', 'show', 'data', 'file'
            conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('tag','configure',_get_eval_enc_str(tag),"-#{key}")))
          when 'font', 'kanjifont'
            conf = tk_split_simplelist(_fromUTF8(tk_send_without_enc('tag','configure',_get_eval_enc_str(tag),"-#{key}")))
            conf[4] = tagfont_configinfo(tag, conf[4])
          else
            conf = tk_split_list(_fromUTF8(tk_send_without_enc('tag','configure',_get_eval_enc_str(tag),"-#{key}")))
          end
          key = conf.shift[1..-1]
          { key => conf }
        else
          ret = {}
          tk_split_simplelist(_fromUTF8(tk_send('tag','configure',_get_eval_enc_str(tag)))).each{|conflist|
            conf = tk_split_simplelist(conflist)
            key = conf.shift[1..-1]
            case key
            when 'text', 'label', 'show', 'data', 'file'
            else
              if conf[2]
                if conf[2].index('{')
                  conf[2] = tk_split_list(conf[2])
                else
                  conf[2] = tk_tcl2ruby(conf[2])
                end
              end
              if conf[3]
                if conf[3].index('{')
                  conf[3] = tk_split_list(conf[3])
                else
                  conf[3] = tk_tcl2ruby(conf[3])
                end
              end
            end
            if conf.size == 1
              ret[key] = conf[0][1..-1]  # alias info
            else
              ret[key] = conf
            end
          }
          fontconf = ret['font']
          if fontconf
            ret.delete('font')
            ret.delete('kanjifont')
            fontconf[3] = tagfont_configinfo(tag, fontconf[3])
            ret['font'] = fontconf
          end
          ret
        end
      end
    end

    def current_tag_configinfo(tag, key=nil)
      if TkComm::GET_CONFIGINFO_AS_ARRAY
        if key
          conf = tag_configinfo(tag, key)
          {conf[0] => conf[4]}
        else
          ret = {}
          tag_configinfo(tag).each{|conf|
            ret[conf[0]] = conf[4] if conf.size > 2
          }
          ret
        end
      else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
        ret = {}
        tag_configinfo(tag, key).each{|k, conf|
          ret[k] = conf[-1] if conf.kind_of?(Array)
        }
        ret
      end
    end

# end¶ ↑

                   # File tk/lib/tk/text.rb, line 988
    def tag_raise(tag, above=None)
      tk_send_without_enc('tag', 'raise', _get_eval_enc_str(tag),
                          _get_eval_enc_str(above))
      self
    end

tag_ranges(tag) click to toggle source

                   # File tk/lib/tk/text.rb, line 1006
    def tag_ranges(tag)
      #l = tk_split_simplelist(tk_send_without_enc('tag', 'ranges',
      #                                            _get_eval_enc_str(tag)))
      l = tk_split_simplelist(tk_send_without_enc('tag', 'ranges',
                                                  _get_eval_enc_str(tag)),
                              false, true)
      r = []
      while key=l.shift
        r.push [Tk::Text::IndexString.new(key), Tk::Text::IndexString.new(l.shift)]
      end
      r
    end

tag_remove(tag, *indices) click to toggle source

                   # File tk/lib/tk/text.rb, line 1000
    def tag_remove(tag, *indices)
      tk_send_without_enc('tag', 'remove', _get_eval_enc_str(tag),
                          *(indices.collect{|idx| _get_eval_enc_str(idx)}))
      self
    end

tagid2obj(tagid) click to toggle source

                   # File tk/lib/tk/text.rb, line 360
    def tagid2obj(tagid)
      if @tags[tagid]
        @tags[tagid]
      else
        tagid
      end
    end

text_copy() click to toggle source

                   # File tk/lib/tk/text.rb, line 727
    def text_copy
      # Tk8.4 feature
      tk_call_without_enc('tk_textCopy', @path)
      self
    end

text_cut() click to toggle source

                   # File tk/lib/tk/text.rb, line 733
    def text_cut
      # Tk8.4 feature
      tk_call_without_enc('tk_textCut', @path)
      self
    end

text_paste() click to toggle source

                   # File tk/lib/tk/text.rb, line 739
    def text_paste
      # Tk8.4 feature
      tk_call_without_enc('tk_textPaste', @path)
      self
    end

tksearch(*args) click to toggle source

                   # File tk/lib/tk/text.rb, line 1254
    def tksearch(*args)
      # call 'search' subcommand of text widget
      #   args ::= [<array_of_opts>] <pattern> <start_index> [<stop_index>]
      # If <pattern> is regexp, then it must be a regular expression of Tcl
      nocase = false
      if args[0].kind_of?(Array)
        opts = args.shift.collect{|opt|
          s_opt = opt.to_s
          nocase = true if s_opt == 'nocase'
          '-' + s_opt
        }
      else
        opts = []
      end

      if args[0].kind_of?(Regexp)
        regexp = args.shift
        if !nocase && (regexp.options & Regexp::IGNORECASE) != 0
          opts << '-nocase'
        end
        args.unshift(regexp.source)
      end

      opts << '--'

      ret = tk_send('search', *(opts + args))
      if ret == ""
        nil
      else
        Tk::Text::IndexString.new(ret)
      end
    end

tksearch_with_count(*args) click to toggle source

                   # File tk/lib/tk/text.rb, line 1287
    def tksearch_with_count(*args)
      # call 'search' subcommand of text widget
      #   args ::= [<array_of_opts>] <var> <pattern> <start_index> [<stop_index>]
      # If <pattern> is regexp, then it must be a regular expression of Tcl
      nocase = false
      if args[0].kind_of?(Array)
        opts = args.shift.collect{|opt|
          s_opt = opt.to_s
          nocase = true if s_opt == 'nocase'
          '-' + s_opt
        }
      else
        opts = []
      end

      opts << '-count' << args.shift

      if args[0].kind_of?(Regexp)
        regexp = args.shift
        if !nocase && (regexp.options & Regexp::IGNORECASE) != 0
          opts << '-nocase'
        end
        args.unshift(regexp.source)
      end

      opts << '--'

      ret = tk_send('search', *(opts + args))
      if ret == ""
        nil
      else
        Tk::Text::IndexString.new(ret)
      end
    end

unset_mark(*marks) click to toggle source
Alias for: mark_unset
value() click to toggle source

                   # File tk/lib/tk/text.rb, line 324
    def value
      _fromUTF8(tk_send_without_enc('get', "1.0", "end - 1 char"))
    end

value=(val) click to toggle source

                   # File tk/lib/tk/text.rb, line 328
    def value= (val)
      tk_send_without_enc('delete', "1.0", 'end')
      tk_send_without_enc('insert', "1.0", _get_eval_enc_str(val))
      val
    end

window_names() click to toggle source

# begin¶ ↑

    def window_cget(index, slot)
      case slot.to_s
      when 'text', 'label', 'show', 'data', 'file'
        _fromUTF8(tk_send_without_enc('window', 'cget',
                                      _get_eval_enc_str(index), "-#{slot}"))
      when 'font', 'kanjifont'
        #fnt = tk_tcl2ruby(tk_send('window', 'cget', index, "-#{slot}"))
        fnt = tk_tcl2ruby(_fromUTF8(tk_send_without_enc('window', 'cget', _get_eval_enc_str(index), '-font')))
        unless fnt.kind_of?(TkFont)
          fnt = tagfontobj(index, fnt)
        end
        if slot.to_s == 'kanjifont' && JAPANIZED_TK && TK_VERSION =~ /^4\.*/
          # obsolete; just for compatibility
          fnt.kanji_font
        else
          fnt
        end
      else
        tk_tcl2ruby(_fromUTF8(tk_send_without_enc('window', 'cget', _get_eval_enc_str(index), "-#{slot}")))
      end
    end

    def window_configure(index, slot, value=None)
      if index.kind_of?(TkTextWindow)
        index.configure(slot, value)
      else
        if slot.kind_of?(Hash)
          slot = _symbolkey2str(slot)
          win = slot['window']
          # slot['window'] = win.epath if win.kind_of?(TkWindow)
          slot['window'] = _epath(win) if win
          if slot['create']
            p_create = slot['create']
            if p_create.kind_of?(Proc)

#=begin

    slot['create'] = install_cmd(proc{
                                   id = p_create.call
                                   if id.kind_of?(TkWindow)
                                     id.epath
                                   else
                                     id
                                   end
                                 })

#=end

          slot['create'] = install_cmd(proc{_epath(p_create.call)})
        end
      end
      tk_send_without_enc('window', 'configure',
                          _get_eval_enc_str(index),
                          *hash_kv(slot, true))
    else
      if slot == 'window' || slot == :window
        # id = value
        # value = id.epath if id.kind_of?(TkWindow)
        value = _epath(value)
      end
      if slot == 'create' || slot == :create
        p_create = value
        if p_create.kind_of?(Proc)

#=begin

    value = install_cmd(proc{
                          id = p_create.call
                          if id.kind_of?(TkWindow)
                            id.epath
                          else
                            id
                          end
                        })

#=end

              value = install_cmd(proc{_epath(p_create.call)})
            end
          end
          tk_send_without_enc('window', 'configure',
                              _get_eval_enc_str(index),
                              "-#{slot}", _get_eval_enc_str(value))
        end
      end
      self
    end

    def window_configinfo(win, slot = nil)
      if TkComm::GET_CONFIGINFO_AS_ARRAY
        if slot
          case slot.to_s
          when 'text', 'label', 'show', 'data', 'file'
            conf = tk_split_simplelist(_fromUTF8(tk_send('window', 'configure', _get_eval_enc_str(win), "-#{slot}")))
          else
            conf = tk_split_list(_fromUTF8(tk_send('window', 'configure', _get_eval_enc_str(win), "-#{slot}")))
          end
          conf[0] = conf[0][1..-1]
          conf
        else
          tk_split_simplelist(_fromUTF8(tk_send('window', 'configure', _get_eval_enc_str(win)))).collect{|conflist|
            conf = tk_split_simplelist(conflist)
            conf[0] = conf[0][1..-1]
            case conf[0]
            when 'text', 'label', 'show', 'data', 'file'
            else
              if conf[3]
                if conf[3].index('{')
                  conf[3] = tk_split_list(conf[3])
                else
                  conf[3] = tk_tcl2ruby(conf[3])
                end
              end
              if conf[4]
                if conf[4].index('{')
                  conf[4] = tk_split_list(conf[4])
                else
                  conf[4] = tk_tcl2ruby(conf[4])
                end
              end
            end
            conf[1] = conf[1][1..-1] if conf.size == 2 # alias info
            conf
          }
        end
      else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
        if slot
          case slot.to_s
          when 'text', 'label', 'show', 'data', 'file'
            conf = tk_split_simplelist(_fromUTF8(tk_send('window', 'configure', _get_eval_enc_str(win), "-#{slot}")))
          else
            conf = tk_split_list(_fromUTF8(tk_send('window', 'configure', _get_eval_enc_str(win), "-#{slot}")))
          end
          key = conf.shift[1..-1]
          { key => conf }
        else
          ret = {}
          tk_split_simplelist(_fromUTF8(tk_send('window', 'configure', _get_eval_enc_str(win)))).each{|conflist|
            conf = tk_split_simplelist(conflist)
            key = conf.shift[1..-1]
            case key
            when 'text', 'label', 'show', 'data', 'file'
            else
              if conf[2]
                if conf[2].index('{')
                  conf[2] = tk_split_list(conf[2])
                else
                  conf[2] = tk_tcl2ruby(conf[2])
                end
              end
              if conf[3]
                if conf[3].index('{')
                  conf[3] = tk_split_list(conf[3])
                else
                  conf[3] = tk_tcl2ruby(conf[3])
                end
              end
            end
            if conf.size == 1
              ret[key] = conf[0][1..-1]  # alias info
            else
              ret[key] = conf
            end
          }
          ret
        end
      end
    end

    def current_window_configinfo(win, slot = nil)
      if TkComm::GET_CONFIGINFO_AS_ARRAY
        if slot
          conf = window_configinfo(win, slot)
          {conf[0] => conf[4]}
        else
          ret = {}
          window_configinfo(win).each{|conf|
            ret[conf[0]] = conf[4] if conf.size > 2
          }
          ret
        end
      else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
        ret = {}
        window_configinfo(win, slot).each{|k, conf|
          ret[k] = conf[-1] if conf.kind_of?(Array)
        }
        ret
      end
    end

# end¶ ↑

                   # File tk/lib/tk/text.rb, line 1221
    def window_names
      # tk_split_simplelist(_fromUTF8(tk_send_without_enc('window', 'names'))).collect{|elt|
      tk_split_simplelist(tk_send_without_enc('window', 'names'), false, true).collect{|elt|
        tagid2obj(elt)
      }
    end

xview_pickplace(index) click to toggle source

                   # File tk/lib/tk/text.rb, line 717
    def xview_pickplace(index)
      tk_send_without_enc('xview', '-pickplace', _get_eval_enc_str(index))
      self
    end

yview_pickplace(index) click to toggle source

                   # File tk/lib/tk/text.rb, line 722
    def yview_pickplace(index)
      tk_send_without_enc('yview', '-pickplace', _get_eval_enc_str(index))
      self
    end