view release on metacpan or search on metacpan
lib/Config/Model/models/Xorg/Device/Fglrx.pl view on Meta::CPAN
{
'choice' => [
'on',
'off'
],
'description' => 'Enable or disable the hardware cursor to be updated asynchronously by the signal handler associated with mouse events. The default is: "on".',
'type' => 'leaf',
'value_type' => 'enum'
},
'Stereo',
{
lib/Config/Model/models/Xorg/Device/Fglrx.pl view on Meta::CPAN
{
'choice' => [
'on',
'off'
],
'description' => 'Disable or enable the use of a software cursor. The default is: "off".',
'type' => 'leaf',
'value_type' => 'enum'
},
'TMDSCoherentMode',
{
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Console/ProgressBar.pm view on Meta::CPAN
# create a progress bar for a task with 20 steps
my $p = Console::ProgressBar->new('Writing files',20);
# for each step done, the progress bar index is incremented
# and the progress bar is displayed at the current cursor position
for(my $i=1; $i <= 20; $i++) {
$p->next()->render();
}
The progress bar displays a title that describe the task and the percentage of completion.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Convert/ASCIInames.pm view on Meta::CPAN
Some of these special purposes have become obsolete, but some of them
are still in use. For example, character 0x07 (C<BEL>) is used to
ring the feeper; 0x05 (C<ENQ>) is recognised by many terminals as
a trigger to report their status; and 0x08 (C<BS>) still means
"move the cursor back one space".
This module will return the ASCII name for specified characters,
or the character code if given an ASCII name. In addition, the
full descriptive name ("Start of Heading" instead of C<SOH>) is
available, although reverse translation of the descriptions isn't
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Convert/Pheno/CSV.pm view on Meta::CPAN
project_ontology => $data_mapping_file->{project}{ontology},
data_mapping_file => $data_mapping_file,
participant => $participant,
self => $self,
individual => $individual,
term_mapping_cursor => undef,
participant_id_field => undef,
participant_id => undef
};
$param_sub->{lock_keys} = [ 'lock_keys', keys %$param_sub ];
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Convos/public/packed/convos-05be7c5708ec2b607a1f50e9e1ad83ae.css view on Meta::CPAN
vertical-align: baseline;
background: transparent; }
abbr[title], dfn[title] {
border-bottom: 1px dotted #000;
cursor: help; }
table {
border-collapse: collapse;
border-spacing: 0; }
lib/Convos/public/packed/convos-05be7c5708ec2b607a1f50e9e1ad83ae.css view on Meta::CPAN
table {
font-size: inherit;
font: 100%; }
.clickable, label, input[type=file], button {
cursor: pointer; }
button, input, select, textarea {
margin: 0; }
button {
lib/Convos/public/packed/convos-05be7c5708ec2b607a1f50e9e1ad83ae.css view on Meta::CPAN
clear: both; }
.close {
display: block;
float: right;
cursor: pointer;
font-size: 1.3em;
padding: 5px;
line-height: 0.4em; }
div.question {
lib/Convos/public/packed/convos-05be7c5708ec2b607a1f50e9e1ad83ae.css view on Meta::CPAN
padding: 6px 8px;
text-align: left;
display: block;
overflow: visible;
/* shrinkwrap the text in <IE7 */
cursor: pointer;
-moz-user-select: text; }
form.sidebar-right select, form.sidebar-right input,
div.sidebar-right select,
div.sidebar-right input {
width: 100%; }
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Crypt/AppleTwoFish.pm view on Meta::CPAN
Crypt::AppleTwoFish -- two Apple iTMS/iTunes key descrambling algorithms
=head1 DESCRIPTION
The first algorithm appears to have only cursory resemblance to Bruce Schneier's
blowfish and twofish algorithms in that it too has a table-based decoder.
The second algorithm is more standard encryption using S-box type permutations
and lookup tables, and might have started out something like Twofish or Blowfish.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Crypt/Diceware/Wordlist/Common.pm view on Meta::CPAN
critique crocheted crockery crossbar crosshair crouched croup crow crowbar
crowd crown crucible crude crudites cruelty cruise crumb crumpled crunch
crunchy crusade crushed crusted crusts cry crybaby cub cube cubist cudgel
cued cueing cuff culinary cull culpable culprit cultivar culture culvert
cupful cupid cupidity curable curator curb cured curio curiously curl
currency currently cursive cursor cursory curt curtail curtsy curve curved
curving custards customer cutover cutting cuttings cycled cycling cycloid
cygnet cynic cynical cynicism cynosure cyst dabbed dabs dagger daily dales
dali dalliance dam dame dames damned damp dance dancing daring darkling
darkly darling darn dashboard dashed dastard date dated dating datum dauber
daunting dauntless daylight daypack daytime daywear dazed dazedly dazzle
lib/Crypt/Diceware/Wordlist/Common.pm view on Meta::CPAN
populous pored porous port portable portend portent portfolio portion pose
posit position positive posse posses possess possessor possible possibly
postdate poster posterior postwar potassium potency potent potentate
potential potholed potion potted pounding powder powdered powerless
practiced praising prancing prate prattle pray preacher preachy preamble
precede precedent precipice precise precision preclude precursor precut
predatory predicate predict preempt preempts preengage preexist preface
prefatory prefect prefer prefers prefix prejudice prelacy prelate prelude
premature premier premise premium premiums prenatal preoccupy preordain
prepaid presage presages preschool prescient prescript preserve presided
pretend pretender pretest pretext pretty pretzel prevalent preview prey
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Crypt/HSXKPasswd/Dictionary/ES.pm view on Meta::CPAN
'cursiva',
'cursivas',
'cursivo',
'cursivos',
'curso',
'cursor',
'cursores',
'cursos',
'cursábamos',
'cursáis',
'cursáramos',
'cursásemos',
lib/Crypt/HSXKPasswd/Dictionary/ES.pm view on Meta::CPAN
'preconizaste',
'preconizo',
'preconizáis',
'preconizó',
'precoz',
'precursor',
'precursores',
'precámbrica',
'precámbricas',
'precámbrico',
'precámbricos',
'predecesor',
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Crypt/Lucifer.pm view on Meta::CPAN
=head1 DESCRIPTION
A simple implementation of the Lucifer algorithm, developed by IBM. Here is the description from Wikipedia:
"In cryptography, Lucifer was the name given to several of the earliest civilian block ciphers, developed by Horst Feistel and his colleagues at IBM. Lucifer was a direct precursor to the Data Encryption Standard. One version, alternatively named DTD...
=head2 EXPORT
None by default.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Crypt/XkcdPassword/Words/EN/Roget.pm view on Meta::CPAN
cursed
curses
cursing
cursitor
cursive
cursorily
cursory
curt
curtae
curtail
curtailed
curtailment
lib/Crypt/XkcdPassword/Words/EN/Roget.pm view on Meta::CPAN
discriminative
disculpate
discumbency
discursion
discursive
discursory
discus
discuss
discussion
disdain
disdainful
lib/Crypt/XkcdPassword/Words/EN/Roget.pm view on Meta::CPAN
perches
perching
percipience
percolate
percolation
percursory
percussion
perde
perdere
perdidit
perdition
lib/Crypt/XkcdPassword/Words/EN/Roget.pm view on Meta::CPAN
preconceived
preconception
preconcert
preconcertation
precursive
precursor
precursory
predaceous
predal
predatorial
predatory
predecessor
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CtrlO/Crypt/XkcdPassword/Wordlist/eff_large.pm view on Meta::CPAN
curling
curly
curry
curse
cursive
cursor
curtain
curtly
curtsy
curvature
curve
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CtrlO/PDF.pm view on Meta::CPAN
sub add_page
{ my $self = shift;
my $page = $self->pdf->page;
$page->mediabox(0, 0, $self->width, $self->height);
$self->_set_page($page);
$self->_set__y($self->_y_start_default); # Reset y cursor
# Flag that we have just started a new page. Because text is positioned from
# its bottom-left corner, we will need to move the cursor down further to
# account for the font size of the text, but we don't know that yet.
$self->_set_is_new_page(1);
return $page;
}
lib/CtrlO/PDF.pm view on Meta::CPAN
}
=head2 move_y_position($pixels)
Moves the current Y position, relative to its current value. Positive values
will move the cursor up the page, negative values down. See L</y_position>.
=cut
sub move_y_position
{ my ($self, $y) = @_;
lib/CtrlO/PDF.pm view on Meta::CPAN
return $self->height - $self->margin_top;
}
=head2 heading($text, %options)
Add a heading. If called on a new page, will automatically move the cursor down
to account for the heading's height (based on the assumption that one pixel
equals one point). Options available are:
=over
lib/CtrlO/PDF.pm view on Meta::CPAN
}
sub heading
{ my ($self, $string, %options) = @_;
my $page = $self->page; # Ensure that page is built and cursor adjusted for first use
$page = $self->add_page if $self->_y < 150; # Make sure there is room for following paragraph text
my $size = $options{size} || 16;
if ($options{topmargin}) {
lib/CtrlO/PDF.pm view on Meta::CPAN
my $size = delete $options{size} || 10;
my $color = delete $options{color} || 'black';
my $format = delete $options{format} || 'none';
my $page = $self->page; # Ensure that page is built and cursor adjusted for first use
# Add new page if already at the bottom from previous operation (e.g.
# rendering table)
$page = $self->add_page
if $self->_y - $self->_line_height($size) < $self->margin_bottom;
lib/CtrlO/PDF.pm view on Meta::CPAN
=cut
sub table
{ my ($self, %options) = @_;
$self->page; # Ensure that page is built and cursor adjusted for first use
# Move onto new page if little space left on this one.
# TODO Change arbitary "60" to something calculated? Needs to be able to
# fit header and one row as a minimum.
$self->add_page if $self->_y < 60 + $self->margin_bottom;
view all matches for this distribution
view release on metacpan or search on metacpan
fulldemo/help/calendar.help view on Meta::CPAN
Month The current month Scalar The month of the calendar.
Year The current year Scalar The year of the calendar.
Dattrib Normal Scalar The attribute of the days.
Mattrib Normal Scalar The attribute of the month name.
Yattrib Normal Scalar The attribute of the year.
Highlight Reverse Scalar The highlight attribute of the cursor.
Filler . Scalar The default field character.
Xpos Center Scalar This is the position of the window on the X axis.
Ypos Center Scalar This is the position of the window on the Y axis.
Box True Scalar This Boolean states whether the dialog box will have a box drawn around it.
Shadow False Scalar This Boolean states whether the dialog box will have a shadow on the box.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Curses/Readline.pm view on Meta::CPAN
sub curses_readline {
my ($prefix) = @_;
$prefix //= ':';
my $buffer = '';
my $cursor_pos = 0;
my $buffer_offset = 0;
my ( $lines, $columns );
getmaxyx( $lines, $columns );
move( $lines + 1, $columns );
lib/Curses/Readline.pm view on Meta::CPAN
my $half_width = int( $columns / 2 );
while (1) {
## cursor_pos and buffer_offset are zero-based, columns
## start at one!
if ( $cursor_pos + 1 >= $columns ) {
$buffer_offset += $half_width - 1;
$cursor_pos = length($buffer) - $buffer_offset;
}
elsif ( $cursor_pos < 0 ) {
if ( $buffer_offset != 0 ) {
$buffer_offset -= $half_width - 1;
$cursor_pos = $half_width - 2;
}
else {
$cursor_pos = 0;
}
}
addstring( $lines - 1, 0,
"$prefix" . substr( $buffer, $buffer_offset, $columns - 1 ) );
clrtoeol;
move( $lines - 1, $cursor_pos + 1 );
refresh;
my $c = getch;
if ( $c eq "\cG" ) {
$buffer = undef;
lib/Curses/Readline.pm view on Meta::CPAN
}
elsif ( $c eq "\n" ) {
last;
}
elsif ( $c eq KEY_LEFT ) {
$cursor_pos--;
}
elsif ( $c eq KEY_RIGHT ) {
next if $cursor_pos == length($buffer) - $buffer_offset;
$cursor_pos++;
}
elsif ( $c eq KEY_HOME || $c eq "\cA" ) {
$cursor_pos = 0;
$buffer_offset = 0;
}
elsif ( $c eq "\cK" ) {
substr( $buffer, $buffer_offset + $cursor_pos ) = '';
}
elsif ( $c eq KEY_END || $c eq "\cE" ) {
my $l = length($buffer);
if ( $l >= $columns ) {
$buffer_offset = $l - $columns + 2;
$cursor_pos = $columns - 2;
}
else {
$cursor_pos = $l;
}
}
elsif ( $c eq KEY_BACKSPACE ) {
next if $buffer_offset == 0 && $cursor_pos == 0;
$cursor_pos--;
substr( $buffer, $buffer_offset + $cursor_pos, 1 ) = '';
}
elsif ( $c eq "\cD" ) {
substr( $buffer, $buffer_offset + $cursor_pos, 1 ) = '';
}
else {
substr( $buffer, $buffer_offset + $cursor_pos, 0 ) = $c;
$cursor_pos++;
}
}
move( $lines - 1, 0 );
clrtoeol;
return $buffer;
view all matches for this distribution
view release on metacpan or search on metacpan
$_verbose_attrnamz{$_attrnamz[-1]} = 'WindowWidth';
push(@_attrnamz, '_yoff'); $_attrdata{$_attrnamz[-1]} = 0; # window y-offset
$_verbose_attrnamz{$_attrnamz[-1]} = 'WindowYOffset';
push(@_attrnamz, '_xoff'); $_attrdata{$_attrnamz[-1]} = 0; # window x-offset
$_verbose_attrnamz{$_attrnamz[-1]} = 'WindowXOffset';
push(@_attrnamz, '_ycrs'); $_attrdata{$_attrnamz[-1]} = 0; # cursor y-offset
$_verbose_attrnamz{$_attrnamz[-1]} = 'CursorYOffset';
push(@_attrnamz, '_xcrs'); $_attrdata{$_attrnamz[-1]} = 0; # cursor x-offset
$_verbose_attrnamz{$_attrnamz[-1]} = 'CursorXOffset';
push(@_attrnamz, '_btyp'); $_attrdata{$_attrnamz[-1]} = 0; # border type
$_verbose_attrnamz{$_attrnamz[-1]} = 'WindowBorderType';
push(@_attrnamz, '_brfc'); $_attrdata{$_attrnamz[-1]} = 'w';# border fore color
$_verbose_attrnamz{$_attrnamz[-1]} = 'WindowBorderForegroundColor';
}
}
# newwin doesn't auto draw so if there's init _text && autodraw is on...
$self->TestDraw();
$self->Move(-1, -1) unless($self->{'_ycrs'} || $self->{'_xcrs'});
curs_set($self->{'_flagcvis'}) if($curs); # set cursor state
# add new Simp object to display order stack
$self->{'_dndx'} = @DISPSTAK;
push(@DISPSTAK, \$self);
return($self);
}
$self->{'_flagshrk'} = 0 if($self->{'_hite'} && $self->{'_widt'}); $self->Updt(1);
if($curs){ $self->{'_wind'} = newwin($self->{'_hite'}, $self->{'_widt'}, $self->{'_yoff'}, $self->{'_xoff'});
unless(exists($self->{'_wind'}) && defined($self->{'_wind'})){ exit;
#croak "!*EROR*! Curses::Simp::new could not create window with hite:$self->{'_hite'},widt:$self->{'_widt'},yoff:$self->{'_yoff'},xoff:$self->{'_xoff'}!\n";
} } $self->TestDraw(); $self->Move(-1, -1) unless($self->{'_ycrs'} || $self->{'_xcrs'}); # newwin does!autodraw so if therz init _text && autodraw is on...
curs_set($self->{'_flagcvis'}) if($curs); $self->{'_dndx'} = @DISPSTAK; push(@DISPSTAK, \$self); return($self); } # set cursor state,push obj2stack,&&retn
sub Prnt{ # Simp object PrintString method
my $self = shift; my %parm; my($ycrs, $xcrs); my($keey, $valu);
my($cnum, $delt, $chrz); my($yold, $xold); my($fgcl, $bgcl); my $foun;
$parm{'nore'} = 0; # No Refresh flag init'd to false
$parm{'ycrs'} = $self->{'_ycrs'};
$self->BordChar('bt', 1);
}
}
unless($curs){ close(SCRP); system("call C:\\SimpDraw.bat"); }
$self->{'_valudol8'} = $dol8 if(defined($dol8));
$self->Move(); # replace cursor position && refresh the window
return();
}
sub TestDraw{ # Test whether an auto-Draw() should be called
$_[0]->Draw() if($_[0]->{'_text'} && @{$_[0]->{'_text'}} && $_[0]->{'_flagaudr'});
}
$self->{'_kmod'}->{$_} = $valu if(defined($valu));
return($self->{'_kmod'}->{$_});
}
}
}
sub GetS{ # Get a string at the cursor or pass temp y, x, and length params
my $self = shift(); # maybe GetS() should update the cursor loc too?
my $ycrs = shift(); $ycrs = $self->YCrs() unless(defined($ycrs));
my $xcrs = shift(); $xcrs = $self->XCrs() unless(defined($xcrs));
my $leng = shift();
my $line = $self->{'_text'}->[$ycrs]; $line = '' unless(defined($line));
if(length($line) >= $xcrs){
}else{
return(substr($line, $xcrs));
}
}
}
sub Move{ # update cursor position
my $self = shift; my($ycrs, $xcrs)=(shift, shift); my $eflg = 0;
if(defined($ycrs) && defined($xcrs)){ # (-1, -1) is a special Move exception to put cursor in lower right corner of border (if BTyp)
if($ycrs == -1 && $xcrs == -1){ $eflg = 1;
$ycrs = ($self->{'_hite'}-1);
$xcrs = ($self->{'_widt'}-1);
}
}else{
$ycrs = $self->{'_ycrs'} unless(defined($ycrs));
$xcrs = $self->{'_xcrs'} unless(defined($xcrs));
}
$ycrs = 0 if($ycrs < 0);
$xcrs = 0 if($xcrs < 0);
if($self->{'_btyp'}){ # trap cursor inside border
if (($ycrs == $self->{'_hite'}-1 &&
$xcrs == $self->{'_widt'}-2) ||
($ycrs == $self->{'_hite'}-2 &&
$xcrs == $self->{'_widt'}-1)){
$ycrs = $self->{'_hite'}-2;
for my $attr ($self->AttrNamz()){
$self->{$attr} = $self->DfltValu($attr); # init defaults
}
# special Mesg window defaults
$self->{'_flagmaxi'} = 0; # not maximized
$self->{'_flagcvis'} = 0; # don't show cursor
$self->{'_flagclru'} = $main->{'_flagclru'}; # inherit ColorUsed flag
$self->{'_mesg'} = '';#EROR!';
$self->{'_text'} = [ ];
if($self->{'_flagclru'}){
$self->{'_fclr'} = [ 'C' ];
$self->{'_yoff'}, $self->{'_xoff'});
unless(exists($self->{'_wind'}) && defined($self->{'_wind'})){
exit;
# croak "!*EROR*! Curses::Simp::Mesg could not create new window with hite:$self->{'_hite'}, widt:$self->{'_widt'}, yoff:$self->{'_yoff'}, xoff:$self->{'_xoff'}!\n";
}
$self->FlagCVis(); # set cursor visibility to new object state
$self->TestDraw();
if ($self->{'_flagprsk'}){
if($self->{'_wait'}) { $char = $self->GetK($self->{'_wait'}); }
else { $char = $self->GetK(-1); }
$char = '#' . $char if($self->{'_kmod'}->{'KMOD_SHIFT'});
if($self->{'_type'} =~ /^(butn|ckbx)$/){
return($self); # special types Button && CheckBox persist
}else{
$self->DelW();
$main->ShokScrn(2);# redraw rest
$main->FlagCVis(); # reset cursor visibility to calling object state
return($char); # return character pressed to dismiss Mesg (if any)
}
}
# Prmt() is a special Curses::Simp object constructor which creates a
# completely temporary Prompt window.
$self->{$attr} = $self->DfltValu($attr); # init defaults
}
# special Prmt window defaults
$self->{'_flagsdlk'} = 1; # get SDLKeys
$self->{'_flagmaxi'} = 0; # not maximized
$self->{'_flagcvis'} = 1; # show cursor
$self->{'_flagedit'} = 1; # editable
$self->{'_flagescx'} = 0; # Escape key eXits
$self->{'_flagclru'} = $main->{'_flagclru'}; # inherit ColorUsed flag
$self->{'_widt'} = getmaxx() - 4; # but almost full screen wide
$self->{'_hite'} = 3; # && start 1 text line high
$self->{'_titl'} = 'Enter Text:';
$self->{'_ttfc'} = 'C';
$self->{'_ttbc'} = 'k';
$self->{'_hifc'} = 'W';
$self->{'_hibc'} = 'g';
$self->{'_curs'} = 0; # special prompt cursor index
$self->{'_sscr'} = 0; # special prompt side-scrolling index
$self->{'_type'} = 'prmt'; # type can be set to special prompt types
# like 'drop', 'cbls', or 'rdls'
$self->{'_lndx'} = 0; # special line index for drop down types
$self->{'_elmo'} = ''; # special field to make this Prmt an ELeMent Of
$self->{'_wind'} = newwin($self->{'_hite'}, $self->{'_widt'},
$self->{'_yoff'}, $self->{'_xoff'});
unless(exists($self->{'_wind'}) && defined($self->{'_wind'})){
croak "!*EROR*! Curses::Simp::Prmt could not create new window with hite:$self->{'_hite'}, widt:$self->{'_widt'}, yoff:$self->{'_yoff'}, xoff:$self->{'_xoff'}!\n";
}
$self->FlagCVis(); # set cursor visibility to new object state
$self->TestDraw();
$self->{'_dndx'} = @DISPSTAK; # add object to display order stack
push(@DISPSTAK, \$self);
if($self->{'_type'} =~ /^(drop)$/){
return($self); # $self must be given explicit focus via Focu()
$self->Focu(); # give Prompt focus (to handle GetK loops)
${$self->{'_dref'}} = $self->{'_data'} if(exists($self->{'_dref'}));
$data = $self->{'_data'};
$self->DelW();
$main->ShokScrn(2);# redraw rest
$main->FlagCVis(); # reset cursor visibility to calling object state
return($data); # return updated text data
}
}
# Focu() is a Curses::Simp method which give focus to special
# typed objects like CheckBoxes or DropDownMenus.
}elsif($self->{'_flagedit'} && $self->{'_curs'}){ # lowercase
my $temp = substr($self->{'_data'}, $self->{'_curs'}, 1);
substr($self->{'_data'}, $self->{'_curs'}, 1, lc($temp));
}
}elsif($self->{'_flagedit'}){
if ($tchr eq 'LEFT' ) { # move cursor left
if($self->{'_curs'}) {
$self->{'_curs'}--;
$self->{'_sscr'}-- if($self->{'_sscr'});
}
$cmov = 1;
}elsif($tchr eq 'RIGHT'){ # move cursor right
if($self->{'_curs'} < length($self->{'_data'})){
$self->{'_curs'}++;
}
$cmov = 1;
}elsif($tchr eq 'HOME' ){ # move cursor to beginning
$self->{'_curs'} = 0;
$self->{'_sscr'} = 0 if($self->{'_sscr'});
$cmov = 1;
}elsif($tchr eq 'END' ){ # move cursor to end
$self->{'_curs'} = length($self->{'_data'});
if(length($self->{'_data'}) < $self->{'_widt'} - 2){
$self->{'_sscr'} = (length($self->{'_data'}) - $self->{'_widt'} - 2);
}
$cmov = 1;
$self->{$attr} = $self->DfltValu($attr); # init defaults
}
# special CPik window defaults
$self->{'_flagsdlk'} = 1; # get SDLKeys
$self->{'_flagmaxi'} = 0; # not maximized
$self->{'_flagcvis'} = 1; # show cursor
$self->{'_flagbakg'} = 1; # pick background colors
$self->{'_flagforg'} = 1; # pick foreground colors
$self->{'_flagclru'} = $main->{'_flagclru'}; # inherit ColorUsed flag
# $self->{'_widt'} = getmaxx() - 4; # but almost full screen wide
# $self->{'_hite'} = getmaxy() - 4; # && high
$self->{'_wind'} = newwin($self->{'_hite'}, $self->{'_widt'},
$self->{'_yoff'}, $self->{'_xoff'});
unless(exists($self->{'_wind'}) && defined($self->{'_wind'})){
croak "!*EROR*! Curses::Simp::CPik could not create new window with hite:$self->{'_hite'}, widt:$self->{'_widt'}, yoff:$self->{'_yoff'}, xoff:$self->{'_xoff'}!\n";
}
$self->FlagCVis(); # set cursor visibility to new object state
$self->BildBlox(); # build color block data into @text,@fclr,@bclr && Draw()
$self->Move($self->{'_hndx'}, 0);
while(!defined($char) || !$done){
$char = $self->GetK(-1);
if($char =~ /^SDLK_(RETURN|[0-9A-FRGYUPW])$/i){ # gonna be done
}
} $self->BildBlox();
}
} delwin($self->{'_wind'}); # delete the CPik window, redraw rest
$main->ShokScrn(2);
$main->FlagCVis(); # reset cursor visibility to calling object state
return($pick); # return picked color code
}
sub BrwsHelp{ # BrwsHelp() just prints a help text message for Brws()
my $self = shift;
$self->Mesg('type' => 'help',
# ==== box is highlighted (Enter selects)
# Ultimately, Brws() should be able to handle easy Browsing for
# Files or Directories for any Open/SaveAs/etc. purposes
sub BildBrws{
my $self = shift; my $updt = shift || 0; my $indx;
$self->FlagCVis(); # set cursor visibility to main Brws object state
$self->Draw();
for($indx=0;$indx<@{$self->{'_elem'}};$indx++){
if(!$self->{'_eflz'}->{$self->{'_elem'}->[$self->{'_endx'}]}){
$self->{'_endx'}++;
$self->{'_endx'} = 0 if($self->{'_endx'} == @{$self->{'_elem'}});
$self->{$attr} = $main->DfltValu($attr); # init defaults
}
# special Brws window defaults
$self->{'_flagsdlk'} = 1; # get SDLKeys
$self->{'_flagmaxi'} = 0; # not maximized
$self->{'_flagcvis'} = 0; # don't show cursor
$self->{'_flagview'} = 0; # show 0=short (1=detailed) view
$self->{'_flaghide'} = 0; # don't hide .files by default
$self->{'_flagquik'} = 0; # don't show quick access panel
$self->{'_flagsepd'} = 0; # don't show separate directory pane
$self->{'_flagflhi'} = 1; # HIghlight FiLes in browser view
}
}
}
$self->DelW(); # Delete Brws Window && all element windows
$main->ShokScrn(2); # redraw all old stuff
$main->FlagCVis(); # reset cursor visibility to calling object state
return($choi); # return choice (file or dir name)
}
sub DESTROY{
my $self = shift || return(); my $dndx = $self->{'_dndx'};
my $shok = 1;
=item - Draw: optimize rendering
=item - Prnt&&Draw: handle ASCII chars under 32 better than current escapes
=item - mk 'ceol' && 'ceos' params to clear text[n] from cursor on
=item - consider breaking sub (CPik|Brws|.+?) into own Curses::Simp::$1.pm
instead of letting Simp.pm remain so cluttered
=back
Returns the current Simp object's window width
(last index: Width() - 1)
=head2 Prnt or PrintString( $String )
Prints $String at current cursor position. PrintString() can also accept
a hash of parameters (e.g., PrintString('text' => $String)) where:
'text' => [ "String to Print" ], # or can just be string without arrayref
'fclr' => [ "ForegroundColorCodes corresponding to text" ],
'bclr' => [ "BackgroundColorCodes corresponding to text" ],
'ycrs' => 3, # Number to move the cursor's y to before printing
'xcrs' => 7, # Number to move the cursor's x to before printing
'yoff' => 15, # same as ycrs except original ycrs is restored afterwards
'xoff' => 31, # same as xcrs except original xcrs is restored afterwards
'prin' => 1, # flag to specify whether printed text should update the
# main Text(), FClr(), and BClr() data or just print to the
# screen temporarily. Default is true (i.e., Print Into all)
If $NewValue is provided, the state of $KeyName is set to $NewValue.
=head2 GetS or GetString( [$YCursor, $XCursor[, $ResultLength]] )
GetString() returns the string found from the cursor (or the specified
coordinates) on to the end-of-line or to $ResultLength if provided.
=head2 Move or MoveCursor( [$YCursor, $XCursor] )
MoveCursor() updates the current Simp object's cursor position
to the newly specified $YCursor, $XCursor.
By default, the cursor is not visible but this can be changed through
the FlagCursorVisible(1) function.
Returns ($YCursor, $XCursor) as the coordinates of the cursor.
=head2 Rsiz or ResizeWindow( $Height, $Width )
ResizeWindow() updates the current Simp object's window dimensions
to the newly specified $Height, $Width.
'hite' => 3, # height of the prompt window (including borders)
'widt' => 63, # width of the prompt window (including borders)
'titl' => "PromptWindow Title string",
'ttfc' => "ColorCodes corresponding to titl foreground color",
'ttbc' => "ColorCodes corresponding to titl background color",
'flagcvis' => 1, # a flag specifying whether the cursor should be displayed
The hash keys can also be the corresponding VerboseNames described in the
new() section instead of these 4-letter abbreviated key names.
=head2 CPik or ColorPickWindow()
---- ----------- -------------
Hite or WindowHeight # window height
Widt or WindowWidth # window width
YOff or WindowYOffset # window y-offset position
XOff or WindowXOffset # window x-offset position
YCrs or CursorYOffset # window y-cursor position
XCrs or CursorXOffset # window x-cursor position
BrFC or WindowBorderForegroundColor # border fg color code string
BrBC or WindowBorderBackgroundColor # border bg color code string
Titl or WindowTitle # title string
TtFC or WindowTitleForegroundColor # title fg color code string
TtBC or WindowTitleBackgroundColor # title bg color code string
view all matches for this distribution
view release on metacpan or search on metacpan
t/fakelib/Curses.pm view on Meta::CPAN
resizeterm resize getmaxy getmaxx flusok getcap touchoverlap new_panel
bottom_panel top_panel show_panel update_panels hide_panel panel_window
replace_panel move_panel panel_hidden panel_above panel_below
set_panel_userptr panel_userptr del_panel set_menu_fore menu_fore
set_menu_back menu_back set_menu_grey menu_grey set_menu_pad menu_pad
pos_menu_cursor menu_driver set_menu_format menu_format set_menu_items
menu_items item_count set_menu_mark menu_mark new_menu free_menu
menu_opts set_menu_opts menu_opts_on menu_opts_off set_menu_pattern
menu_pattern post_menu unpost_menu set_menu_userptr menu_userptr
set_menu_win menu_win set_menu_sub menu_sub scale_menu set_current_item
current_item set_top_row top_row item_index item_name item_description
new_item free_item set_item_opts item_opts_on item_opts_off item_opts
item_userptr set_item_userptr set_item_value item_value item_visible
menu_request_name menu_request_by_name set_menu_spacing menu_spacing
pos_form_cursor data_ahead data_behind form_driver set_form_fields
form_fields field_count move_field new_form free_form set_new_page
new_page set_form_opts form_opts_on form_opts_off form_opts
set_current_field current_field set_form_page form_page field_index
post_form unpost_form set_form_userptr form_userptr set_form_win
form_win set_form_sub form_sub scale_form set_field_fore field_fore
view all matches for this distribution
view release on metacpan or search on metacpan
t/data/fakelib/Curses.pm view on Meta::CPAN
resizeterm resize getmaxy getmaxx flusok getcap touchoverlap new_panel
bottom_panel top_panel show_panel update_panels hide_panel panel_window
replace_panel move_panel panel_hidden panel_above panel_below
set_panel_userptr panel_userptr del_panel set_menu_fore menu_fore
set_menu_back menu_back set_menu_grey menu_grey set_menu_pad menu_pad
pos_menu_cursor menu_driver set_menu_format menu_format set_menu_items
menu_items item_count set_menu_mark menu_mark new_menu free_menu
menu_opts set_menu_opts menu_opts_on menu_opts_off set_menu_pattern
menu_pattern post_menu unpost_menu set_menu_userptr menu_userptr
set_menu_win menu_win set_menu_sub menu_sub scale_menu set_current_item
current_item set_top_row top_row item_index item_name item_description
new_item free_item set_item_opts item_opts_on item_opts_off item_opts
item_userptr set_item_userptr set_item_value item_value item_visible
menu_request_name menu_request_by_name set_menu_spacing menu_spacing
pos_form_cursor data_ahead data_behind form_driver set_form_fields
form_fields field_count move_field new_form free_form set_new_page
new_page set_form_opts form_opts_on form_opts_off form_opts
set_current_field current_field set_form_page form_page field_index
post_form unpost_form set_form_userptr form_userptr set_form_win
form_win set_form_sub form_sub scale_form set_field_fore field_fore
view all matches for this distribution
view release on metacpan or search on metacpan
DelimitedTextViewer.pm view on Meta::CPAN
# Turn the delimited text into fixed width text
$obj->{'-text'} = $obj->process_text($obj->{'-text'});
# Check to see if the user wants to scroll by column
if($userargs{'-columnScroll'}) {
$obj = $obj->set_routine('cursor-right', \&scroll_column_right);
$obj = $obj->set_routine('cursor-left', \&scroll_column_left);
}
return $obj;
}
DelimitedTextViewer.pm view on Meta::CPAN
}
return \@column_widths;
}
###############################################################################
# scroll the cursor by a column width at a time
###############################################################################
sub scroll_column_right {
my $self = shift;
# Check to make sure that the cursor is not already at the last
# column
return $self->dobeep
if($self->{'-current_column'} == $self->{'-maxcolumns'});
DelimitedTextViewer.pm view on Meta::CPAN
return $self;
}
###############################################################################
# scroll the cursor by a column width at a time
###############################################################################
sub scroll_column_left {
my $self = shift;
# Check to make sure that the cursor is not already at the first column
return $self->dobeep if($self->{'-current_column'} == 0);
# Look up the previous column's width and use that as the offset
my $index = $self->{'-current_column'};
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Curses/UI/Grid.pm view on Meta::CPAN
CUI_TAB next_cell
KEY_ENTER() next_cell
KEY_BTAB() prev-cell
KEY_UP() prev_row
KEY_DOWN() next_row
KEY_RIGHT() cursor_right
KEY_LEFT() cursor_left
KEY_HOME() cursor_home
KEY_END() cursor_end
KEY_PPAGE() grid_pageup
KEY_NPAGE() grid_pagedown
=cut
lib/Curses/UI/Grid.pm view on Meta::CPAN
CUI_TAB() => 'next-cell',
KEY_ENTER() => 'next-cell',
KEY_BTAB() => 'prev-cell',
KEY_UP() => 'prev-row',
KEY_DOWN() => 'next-row',
KEY_RIGHT() => 'cursor-right',
KEY_LEFT() => 'cursor-left',
KEY_HOME() => 'cursor-home',
KEY_END() => 'cursor-end',
KEY_PPAGE() => 'grid-pageup',
KEY_NPAGE() => 'grid-pagedown',
);
=item * B<-editindings> < HASHREF >
lib/Curses/UI/Grid.pm view on Meta::CPAN
next_cell make next cell active
prev_cell make prev cell active
first_cell make first row active
last_cell make last row active
cursor_home move cursor into home pos in focused cell
cursor_end move cursor into end pos in focused cell
cursor_righ move cursor right in focused cell
cursor_left move cursor left in focused cell
add_string add string to focused cell
delete_row delete active row from grid, shift rows upstairs
insert_row insert row in current position
delete_character delete_character from focused cell
lib/Curses/UI/Grid.pm view on Meta::CPAN
=cut
my %routines = (
'loose-focus' => \&loose_focus,
'cursor-right' => \&cursor_right,
'cursor-left' => \&cursor_left,
'add-string' => \&add_string,
'grid-pageup' => \&grid_pageup,
'grid-pagedown' => \&grid_pagedown,
'cursor-home' => \&cursor_to_home,
'cursor-end' => \&cursor_to_end,
'next-cell' => \&next_cell,
'prev-cell' => \&prev_cell,
'next-row' => \&next_row,
'prev-row' => \&prev_row,
'insert-row' => \&insert_row,
lib/Curses/UI/Grid.pm view on Meta::CPAN
-y => 0, # vertical position (rel. to -window)
-width => undef, # horizontal editsize, undef = stretch
-height => undef, # vertical editsize, undef = stretch
# Initial state
-xpos => 0, # cursor position
-ypos => 0, # cursor position
# General options
-border => undef, # use border?
-frozen_with => 0,
-x_offsetbar => 0, # show vertical scrollbar
lib/Curses/UI/Grid.pm view on Meta::CPAN
my ($this, %args) = @_;
$this->{-page_size} = $this->canvasheight - 2;
$this->add_row('header', %args, -type => 'head');
$this->create_default_cells; # if column is not FALSE add empty cells to grid
$this->create_default_rows; # if rows is not FALSE add empty rows to grid
$this->{-xpos} = 0; # X position for cursor in the document
$this->{-ypos} = 0; # Y position for cursor in the document
$this->layout_content;
$this->editable($args{-editable});
return $this;
}
lib/Curses/UI/Grid.pm view on Meta::CPAN
$idx += $direction;
if($idx > @{$this->{$collection}} - 1){
if($type eq 'row') {
# if curent position is less than page size and grid is editable
# and cursor down then add new row
return $this->insert_row(-1)
if ($idx <= $this->{-page_size} && $this->{-editable});
$onnextpage = 1; #set trigger flag to next_page
}
$idx = 0;
lib/Curses/UI/Grid.pm view on Meta::CPAN
$no_doupdate ||= 0;
$this->SUPER::draw(1) or return $this
unless $this->test_more;
$this->draw_grid(1);
$this->{-nocursor} = $this->rows_count ? 0 : 1;
doupdate()
if ! $no_doupdate && ! $this->test_more;
$this;
}
lib/Curses/UI/Grid.pm view on Meta::CPAN
=head3 Cells methods.
=over
=item cursor_left
Calls cursor left on focsed cell.
Return focued cells.
=cut
sub cursor_left {
my $this = shift;
my $cell = $this->get_foused_cell;
$cell->cursor_left;
$cell;
}
=item cursor_right
Calls cursor right on focsed cell.
Return focued cells.
=cut
sub cursor_right {
my $this = shift;
my $cell = $this->get_foused_cell;
$cell->cursor_right;
$cell;
}
=item cursor_to_home
Calls cursor home on focsed cell.
Return focued cells.
=cut
sub cursor_to_home {
my $this = shift;
my $cell = $this->get_foused_cell;
$cell->cursor_to_home;
$cell;
}
=item cursor_to_end
Calls cursor end on focsed cell.
Return focued cells.
=cut
sub cursor_to_end {
my $this = shift;
my $cell = $this->get_foused_cell;
$cell->cursor_to_end;
$cell;
}
=item delete_character
view all matches for this distribution
view release on metacpan or search on metacpan
# dispatch the event to the top-most modal object, or the root.
$self->do_one_event($modal_objects[TOP]);
}
}
# Set the root cursor mode
unless ($self->{-no_output}) {
Curses::curs_set($self->{-cursor_mode});
}
}
sub timer {
my ($self) = @_;
# dispatch the event to the top-most modal object, or the root.
my $top_object = $modal_objects[TOP];
$top_object->do_timer;
# Set the root cursor mode.
unless ($self->{-no_output}) {
Curses::curs_set($self->{-cursor_mode});
}
set_read_timeout($top_object);
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Curses/UI.pm view on Meta::CPAN
&Curses::UI::Common::keys_to_lowercase(\%userargs);
my %args = (
-compat => 0, # Use compatibility mode?
-clear_on_exit => 0, # Clear screen if program exits?
-cursor_mode => 0, # What is the current cursor_mode?
-debug => undef, # Turn on debugging mode?
-keydelay => 0, # Track seconds since last keystroke?
-language => undef, # Which language to use?
-mouse_support => 1, # Do we want mouse support
-overlapping => 1, # Whether overlapping widgets are supported
lib/Curses/UI.pm view on Meta::CPAN
{
my $self = shift;
my $object = shift;
$object = $self unless defined $object;
eval {curs_set($self->{-cursor_mode})};
# gpm mouse?
if ($Curses::UI::gpm_mouse) {
$self->handle_gpm_mouse_event($object);
doupdate();
lib/Curses/UI.pm view on Meta::CPAN
$config->{-lastrun} = $now;
$timers_done++;
}
}
# Bring the cursor back to the focused object by
# redrawing it. Due to drawing other objects, it might
# have moved to another widget or screen location.
#
$self->focus_path(-1)->draw if $timers_done;
lib/Curses/UI.pm view on Meta::CPAN
# Accessor functions
# ----------------------------------------------------------------------
sub compat(;$) { shift()->accessor('-compat', shift()) }
sub clear_on_exit(;$) { shift()->accessor('-clear_on_exit', shift()) }
sub cursor_mode(;$) { shift()->accessor('-cursor_mode', shift()) }
sub lang(;$) { shift()->accessor('-language_object', shift()) }
sub overlapping(;$) { shift()->accessor('-overlapping', shift()) }
# TODO: document
sub debug(;$)
view all matches for this distribution
view release on metacpan or search on metacpan
resizeterm resize getmaxy getmaxx flusok getcap touchoverlap new_panel
bottom_panel top_panel show_panel update_panels hide_panel panel_window
replace_panel move_panel panel_hidden panel_above panel_below
set_panel_userptr panel_userptr del_panel set_menu_fore menu_fore
set_menu_back menu_back set_menu_grey menu_grey set_menu_pad menu_pad
pos_menu_cursor menu_driver set_menu_format menu_format set_menu_items
menu_items item_count set_menu_mark menu_mark new_menu free_menu
menu_opts set_menu_opts menu_opts_on menu_opts_off set_menu_pattern
menu_pattern post_menu unpost_menu set_menu_userptr menu_userptr
set_menu_win menu_win set_menu_sub menu_sub scale_menu set_current_item
current_item set_top_row top_row item_index item_name item_description
new_item free_item set_item_opts item_opts_on item_opts_off item_opts
item_userptr set_item_userptr set_item_value item_value item_visible
menu_request_name menu_request_by_name set_menu_spacing menu_spacing
pos_form_cursor data_ahead data_behind form_driver set_form_fields
form_fields field_count move_field new_form free_form set_new_page
new_page set_form_opts form_opts_on form_opts_off form_opts
set_current_field current_field set_form_page form_page field_index
post_form unpost_form set_form_userptr form_userptr set_form_win
form_win set_form_sub form_sub scale_form set_field_fore field_fore
=head2 Unified Functions
Many curses(3) functions have variants starting with the prefixes
I<w->, I<mv->, and/or I<wmv->. These variants differ only in the
explicit addition of a window, or by the addition of two coordinates
that are used to move the cursor first. For example, C<addch()> has
three other variants: C<waddch()>, C<mvaddch()>, and C<mvwaddch()>.
The variants aren't very interesting; in fact, we could roll all of
the variants into original function by allowing a variable number
of arguments and analyzing the argument list for which variant the
user wanted to call.
C<function( [win], [y, x], args );>
I<win> is an optional window argument, defaulting to C<stdscr> if not
specified.
I<y, x> is an optional coordinate pair used to move the cursor,
defaulting to no move if not specified.
I<args> are the required arguments of the function. These are the
arguments you would specify if you were just calling the base function
and not any of the variants.
=back
=head3 C<instring>
This returns a Perl string (or C<undef> on failure) holding the characters
from the current cursor position up to the end of the line. It uses
C<winnwstr()> if available, and otherwise C<innstr()>.
=over 4
my $s = instring();
menu_back No
set_menu_grey No
menu_grey No
set_menu_pad No
menu_pad No
pos_menu_cursor No
menu_driver No
set_menu_format No
menu_format No
set_menu_items No
menu_items No
item_visible No
menu_request_name No
menu_request_by_name No
set_menu_spacing No
menu_spacing No
pos_form_cursor No
data_ahead No
data_behind No
form_driver No
set_form_fields No
form_fields No
view all matches for this distribution
view release on metacpan or search on metacpan
Application.pm view on Meta::CPAN
}
# Set up the session
noecho(); # Turn off input echoing
halfdelay(1); # Turn on partial blocking uncooked input
curs_set(0); # Turn off visible cursor
$mwh->keypad(1); # Turn on keypad support for special keys
$mwh->syncok(1); # Sync sub/derwins up to mainwin
# Read the forms from main
$code = join('', <main::DATA>);
view all matches for this distribution
view release on metacpan or search on metacpan
($active && $_ eq $focused) ? $$widgets{$_}->draw($fwh, 1) :
$$widgets{$_}->draw($fwh);
}
}
sub _cursor {
# Forms don't have cursors, per-se
}
=head2 setField/getField
$form->setField(BORDER => 1);
view all matches for this distribution
view release on metacpan or search on metacpan
# The following are provided for use with descendent
# classes, and are expected to be overridden.
$obj->_conf(%conf);
$obj->input_key($ch);
$obj->_content($mwh);
$obj->_cursor
=head1 REQUIREMENTS
=over
The draw method can be overridden in each descendant class. It
is reponsible for the rendering of the widget, and only that. The first
argument is mandatory, being a valid window handle with which to create
the widget's derived window. The second is optional, but if set to
true, will tell the widget to draw itself in an 'active' state. For
instance, the TextField widget will also render a cursor, while a
ButtonSet widget will render the selected button in standout mode.
The rendering sequence defined in this class is as follows:
# Get the canvas geometry and create a window handle to it
$dwh->delwin;
return 0;
}
$self->_content($cwh);
$self->_cursor($cwh) if $active;
=cut
sub draw {
my $self = shift;
$dwh->delwin;
return 0;
}
$self->_content($cwh);
$self->_cursor($cwh) if $active;
# Flush the changes to the screen and release the window handles
$cwh->refresh;
$cwh->delwin;
$dwh->refresh;
my $conf = $self->{CONF};
# Override this method to render widget content
}
=head2 _cursor
$obj->_cursor
This method should be overriden in all descendent classes that display a
cursor in the content area. The B<draw> method, as defined in this class,
calls this method after the content is rendered, and passes it a window handle
the exact size of the content area.
=cut
sub _cursor {
my $self = shift;
my $dwh = shift;
my $conf = $self->{CONF};
# Override this method to render widget cursor
}
1;
=head1 HISTORY
view all matches for this distribution
view release on metacpan or search on metacpan
Add support for the Backup command, including support for DPF backups
(with included logs) in DB2 V9.5.
=head1 Changes in the 2.9 release
=head2 Fix core dump in load from cursor
A second bug in the db2Load command, caused a load from cursor (source
type "Statement") to perform an invalid free, sometimes leading to a
core dump. Now fixed. Have run valgrind on import/export/load to
verify no additional mistakes are present.
=head1 Changes in the 2.8 release
=head2 Fix core dump in load from cursor
A bug in the db2Load command, introduced in the 2.7 release, caused a
load from cursor (source type "Statement") to dump core. Now fixed.
=head2 BugFix in Load / Import
A bug in the Load and Import methods prevented load/import operations
against mixed-case schema and table names (which have to be
view all matches for this distribution
view release on metacpan or search on metacpan
lib/DBD/ADO.pm view on Meta::CPAN
my ( $outer, $sth ) = DBI::_new_sth( $dbh, { Statement => $statement } );
$sth->{ado_cachesize} = $dbh->{ado_cachesize};
$sth->{ado_comm} = $comm;
$sth->{ado_conn} = $conn;
$sth->{ado_cursortype} = $dbh->{ado_cursortype} || $attr->{CursorType};
$sth->{ado_fields} = undef;
$sth->{ado_max_errors} = $dbh->{ado_max_errors};
$sth->{ado_refresh} = 1;
$sth->{ado_rownum} = -1;
$sth->{ado_rows} = -1;
lib/DBD/ADO.pm view on Meta::CPAN
_assign_param( $sth, $n, $$vref, $attr, $i );
}
}
}
# At this point a Command is ready to Execute. To allow for different
# type of cursors, we need to create a Recordset object.
# However, a Recordset Open does not return affected rows. So we need to
# determine if a Recordset Open is needed, or a Command Execute.
my $UseRecordSet = !defined $sth->{ado_usecmd} &&
( defined $sth->{ado_cursortype}
|| defined $sth->{ado_users}
);
my $UseResponseStream = $sth->{ado_executeoption} &&
( $sth->{ado_executeoption} == $Enums->{ExecuteOptionEnum}{adExecuteStream} );
lib/DBD/ADO.pm view on Meta::CPAN
}
elsif ( $UseRecordSet ) {
$rs = Win32::OLE->new('ADODB.RecordSet');
return if DBD::ADO::Failed( $sth,"Can't create 'ADODB.RecordSet'");
my $CursorType = $sth->{ado_cursortype} || 'adOpenForwardOnly';
$sth->trace_msg(" -- Open Recordset using CursorType '$CursorType'\n", 5 );
$rs->Open( $comm, undef, $Enums->{CursorTypeEnum}{$CursorType} );
return if DBD::ADO::Failed( $sth,"Can't Open Recordset for '$sql'");
_retrieve_out_params( $sth );
$sth->trace_msg(" -- CursorType: $rs->{CursorType}\n", 5 );
lib/DBD/ADO.pm view on Meta::CPAN
$sth = $dbh->prepare( $statement ) or die $dbh->errstr;
$sth = $dbh->prepare( $statement, \%attr ) or die $dbh->errstr;
DBD::ADO's prepare() supports setting the CursorType, e.g.:
$sth = $dbh->prepare( $sql, { ado_cursortype => 'adOpenForwardOnly' } ) ...
# the CursorType attribute is deprecated:
$sth = $dbh->prepare( $sql, { CursorType => 'adOpenForwardOnly' } ) ...
Possible cursortypes are:
adOpenForwardOnly (default)
adOpenKeyset
adOpenDynamic
adOpenStatic
It may be necessary to prepare the statement using cursortype 'adOpenStatic'
when using a statement handle within a statement handle:
while( my $table = $sth1->fetchrow_hashref ) {
...
my $col = $sth2->fetchrow_hashref;
lib/DBD/ADO.pm view on Meta::CPAN
As a workaround, the C<ado_size> attribute for C<bind_param> was
introduced in version 2.95:
$sth->bind_param( $p_num, $bind_value, { ado_size => $size } );
=item MSDAORA may have problems with client-side cursors
MSDAORA may throw an error, return an empty result set or loop forever
when C<CursorLocation> is set to C<adUseClient>.
This setting is used in catalog methods for sorting and filtering.
view all matches for this distribution
view release on metacpan or search on metacpan
eg/blobs.pl view on Meta::CPAN
my $dbh;
my $ins;
my $nrows;
my $upd;
my $cursor;
my $sth;
my $blob1;
my $blob2;
my $bloblen = 1000000;
my $i;
eg/blobs.pl view on Meta::CPAN
#
# Check the inserts values by fetching the values back
#
printf( "Checking inserts\n" );
$cursor = $dbh->prepare( "select a, b from blobs" );
$cursor->execute();
$nrows = 0;
while( ($a,$b) = $cursor->fetchrow() ) {
$nrows++;
if( $a ne $blob1 && $a ne $blob2 ) {
die( "******ERROR: Fetched value for column a is incorrect: %s\n", $a );
}
if( $b ne $blob1 && $b ne $blob2 && $b ne "jcs" ) {
die( "******ERROR: Fetched value for column b is incorrect: %s\n", $b );
}
}
if( defined( $cursor->err ) && defined( $cursor->errstr ) ) {
die( "******ERROR: err %d, errstr %s\n", $cursor->err, $cursor->errstr );
} elsif( $nrows != 3 ) {
die( "******ERROR: Incorrect number of rows fetched: %d\n", $nrows );
} else {
printf( "Inserts OK\n" );
}
$cursor->finish();
#
# Do some updates
#
printf( "Doing updates\n" );
eg/blobs.pl view on Meta::CPAN
#
# Check updates
#
printf( "Checking updates\n" );
$cursor = $dbh->prepare( "select a, b from blobs" );
$cursor->execute();
$nrows = 0;
while( ($a,$b) = $cursor->fetchrow() ) {
$nrows++;
if( $a eq $blob1 && $b ne $blob1 ) {
die( "******ERROR: Update didn't work correctly\n" );
}
if( $a ne $blob1 && $a ne $blob2 ) {
eg/blobs.pl view on Meta::CPAN
}
if( $b ne $blob1 && $b ne $blob2 && $b ne "jcs" ) {
die( "******ERROR: Fetched value for column b is incorrect\n" );
}
}
if( defined( $cursor->err ) && defined( $cursor->errstr ) ) {
die( "******ERROR: err %d, errstr %s\n", $cursor->err, $cursor->errstr );
} elsif( $nrows != 3 ) {
die( "******ERROR: Incorrect number of rows fetched: %d\n", $nrows );
} else {
printf( "Updates OK\n" );
}
$cursor->finish();
$dbh->commit();
$dbh->do( 'drop table blobs' );
$dbh->disconnect();
undef $dbh;
view all matches for this distribution
view release on metacpan or search on metacpan
{
D_imp_dbh(dbh);
D_imp_sth(sth);
RETCODE rc;
SV **svp;
char cname[128]; /* cursorname */
dTHR;
imp_sth->henv = imp_dbh->henv; /* needed for dbd_error */
imp_sth->hdbc = imp_dbh->hdbc;
{
dTHR;
D_imp_dbh_from_sth;
RETCODE rc;
SV **svp;
char cname[128]; /* cursorname */
imp_sth->done_desc = 0;
imp_sth->henv = imp_dbh->henv; /* needed for dbd_error */
imp_sth->hdbc = imp_dbh->hdbc;
dTHR;
D_imp_dbh_from_sth;
RETCODE rc;
int ret = 0;
/* Cancel further fetches from this cursor. */
/* We don't close the cursor till DESTROY (dbd_st_destroy). */
/* The application may re execute(...) it. */
/* XXX semantics of finish (eg oracle vs odbc) need lots more thought */
/* re-read latest DBI specs and ODBC manuals */
if (DBIc_ACTIVE(imp_sth) && imp_dbh->hdbc != SQL_NULL_HDBC) {
int i;
SV *retsv = NULL;
T_st_params *par;
int n_fields;
imp_fbh_t *fbh;
char cursor_name[256];
SWORD cursor_name_len;
RETCODE rc;
for (par = S_st_fetch_params; par->len > 0; par++)
if (par->len == kl && strEQ(key, par->str))
break;
while(--i >= 0)
av_store(av, i, newSViv(imp_sth->fbh[i].ColLength));
break;
case 9: /* CursorName */
rc = SQLGetCursorName(imp_sth->hstmt,
cursor_name, sizeof(cursor_name), &cursor_name_len);
if (!SQL_ok(rc)) {
dbd_error(sth, rc, "st_FETCH/SQLGetCursorName");
return Nullsv;
}
retsv = newSVpv(cursor_name, cursor_name_len);
break;
case 10:
retsv = newSViv(DBIc_LongReadLen(imp_sth));
break;
default:
dTHR;
D_imp_dbh(dbh);
D_imp_sth(sth);
RETCODE rc;
SV **svp;
char cname[128]; /* cursorname */
imp_sth->henv = imp_dbh->henv; /* needed for dbd_error */
imp_sth->hdbc = imp_dbh->hdbc;
imp_sth->done_desc = 0;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/SQL/Amazon/Spool.pm view on Meta::CPAN
$obj->{errstr} = 'Resultset timeout has expired.',
$obj->{_keys} = undef,
return undef
if (time() > $obj->{_timeout});
my $cursor = defined($obj->{_cursor}) ? $obj->{_cursor} : -1;
my $keys = $obj->{_keys};
return undef
if ($cursor >= $#$keys);
my $row;
$cursor++;
while ($cursor <= $#$keys) {
$row = $obj->{_table}->fetch($keys->[$cursor]);
$obj->{_currkey} = $keys->[$cursor];
last if $row;
$cursor++;
}
$obj->{_cursor} = $cursor;
$obj->{errstr} = $row,
$obj->{row} = undef,
$obj->{_currkey} = undef,
return undef
unless ref $row;
view all matches for this distribution