NAME

Padre::Wx::Editor - Padre document editor object

DESCRIPTION

Padre::Wx::Editor implements the Scintilla-based document editor for Padre. It implements the majority of functionality relating to visualisation and navigation of documents.

METHODS

get_brace_info

Look at a given position in the editor if there is a brace (according to the setting editor_braces) before or after, and return the information about the context It always look first at the character after the position.

Params:
	pos - the cursor position in the editor [defaults to cursor position) : int

Return:
	undef if no brace, otherwise [brace, actual_pos, is_after, is_opening]
	where:
		brace - the brace char at actual_pos
		actual_pos - the actual position where the brace has been found
		is_after - true iff the brace is after the cursor : boolean
		is_opening - true iff only the brace is an opening one

Examples:

	|{} => should find the { : [0,{,1,1]
	{|} => should find the } : [1,},1,0]
	{| } => should find the { : [0,{,0,1]

get_brace_type

Tell if a character is a brace, and if it is an opening or a closing one

Params:
	char - a character : string

Return:
	int : 0 if this is not a brace, an odd value if it is an opening brace and an even
	one for a closing brace

find_matching_brace

Find the position of to the matching brace if any. If the cursor is inside the braces the destination will be inside too, same it is outside.

Params:
	pos - the cursor position in the editor [defaults to cursor position) : int

Return:
	matching_pos - the matching position, or undef if none

goto_matching_brace

Move the cursor to the matching brace if any. If the cursor is inside the braces the destination will be inside too, same it is outside.

Params:
	pos - the cursor position in the editor [defaults to cursor position) : int

select_to_matching_brace

Select to the matching opening or closing brace. If the cursor is inside the braces the destination will be inside too, same it is outside.

Params:
	pos - the cursor position in the editor [defaults to cursor position) : int

find_line

my $line_number = $editor->find_line( 123, "sub foo {" );

The find_line method locates a line in a document using a line number and the content of the line.

It is intended for use in situations where a search function has determined that a particular line is of interest, but the document may have changed in the time since the original search was made.

Starting at the suggested line, it will locate the line containing the text which is the closest to line provided. If no text is provided the method acts as a simple pass-through.

Returns an integer line number guaranteed to exist in the document, or undef if the hint text could not be found anywhere in the document.

position

my $position = $editor->position($untrusted);

The position method is used to clean parameters that are supposed to refer to a position within the editor. It takes what should be an numeric document position, constrains the value to the actual position range of the document, and removes any fractional characters.

This method should generally be used when doing something to a document somewhere in it preferable aborting that functionality completely.

Returns an integer character position guaranteed to exist in the document.

line

my $line = $editor->line($untrusted);

The line method is used to clean parameters that are supposed to refer to a line within the editor. It takes what should be an numeric document line, constrains the value to the actual line range of the document, and removes any fractional characters.

This method should generally be used when doing something to a document somewhere in it preferable aborting that functionality completely.

Returns an integer line number guaranteed to exist in the document.

clipboard_length

my $chars = Padre::Wx::Editor->clipboard_length;

The clipboard_length method returns the number of characters of text currently in the clipboard, if any.

Returns an integer number of characters, or zero if the clipboard is empty or contains non-text data.

COPYRIGHT & LICENSE

Copyright 2008-2016 The Padre development team as listed in Padre.pm.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.