OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-web, openpkg-src Date: 21-Nov-2002 21:18:31
Branch: HEAD Handle: 2002112120183000
Modified files:
openpkg-src/perl-curses perl-curses.patch perl-curses.spec
openpkg-web news.txt
Log:
add latest RSE patches
Summary:
Revision Changes Path
1.2 +333 -8 openpkg-src/perl-curses/perl-curses.patch
1.19 +2 -2 openpkg-src/perl-curses/perl-curses.spec
1.2078 +1 -0 openpkg-web/news.txt
____________________________________________________________________________
Index: openpkg-src/perl-curses/perl-curses.patch
============================================================
$ cvs diff -u -r1.1 -r1.2 perl-curses.patch
--- openpkg-src/perl-curses/perl-curses.patch 20 Nov 2002 15:52:48 -0000 1.1
+++ openpkg-src/perl-curses/perl-curses.patch 21 Nov 2002 20:18:30 -0000 1.2
@@ -1,33 +1,254 @@
+Index: CHANGES.RSE
+===================================================================
+RCS file: CHANGES.RSE
+diff -N CHANGES.RSE
+--- /dev/null Thu Nov 21 21:15:00 2002
++++ /tmp/rse/cvsWYEhjj Thu Nov 21 21:17:26 2002
+@@ -0,0 +1,19 @@
++
++ The following changes were made by Ralf S. Engelschall <[EMAIL PROTECTED]>
++ to the excellent Curses::UI 0.71 by Maurice Makaay <[EMAIL PROTECTED]>.
++
++ o Make sure that Curses::UI::Listbox draws the selected values in bold
++ also under "multi" and "radio" options to be consistent in look &
++ feel with the standard list box.
++
++ o Add support for root->overlapping(1) (default) and
++ root->overlapping(0) to optimize the redrawing by reducing to
++ the old and new focused widgets. The default is still to redraw
++ everything which is necessary to support overlapping windows.
++
++ o Add -reverse option to Curses::UI::TextEditor.
++
++ o Add color support.
++
++ o Fix reverse rendering for Label demo in demo-widgets.
++
Index: lib/Curses/UI.pm
===================================================================
RCS file: /u/rse/wrk/cui/cvs/cui/lib/Curses/UI.pm,v
retrieving revision 1.1.1.1
-diff -u -d -u -d -r1.1.1.1 UI.pm
+retrieving revision 1.2
+diff -u -d -u -d -r1.1.1.1 -r1.2
--- lib/Curses/UI.pm 2002/11/20 15:00:33 1.1.1.1
-+++ lib/Curses/UI.pm 2002/11/20 15:12:54
-@@ -65,6 +65,7 @@
++++ lib/Curses/UI.pm 2002/11/21 18:14:03 1.2
+@@ -65,6 +65,8 @@
-cursor_mode => 0, # What is the current cursor_mode?
-debug => undef, # Turn on debugging mode?
-language => undef, # Which language to use?
+ -overlapping => 1, # Whether overlapping widgets are supported
++ -colors => 0, # Whether colors are used
%userargs,
-@@ -118,6 +119,7 @@
+@@ -118,6 +120,8 @@
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()) }
++sub colors(;$) { shift()->accessor('-colors', shift()) }
# TODO: document
sub debug(;$)
+@@ -128,6 +132,58 @@
+ }
+
+ # ----------------------------------------------------------------------
++# Color support
++# ----------------------------------------------------------------------
++
++$Curses::UI::colorpairs = 0;
++$Curses::UI::colorpair = {};
++
++sub colorpair ($$;$$)
++{
++ my $this = shift;
++ my ($name, $fg, $bg) = @_;
++ my $colors_name2num = {
++ 'black' => COLOR_BLACK,
++ 'red' => COLOR_RED,
++ 'green' => COLOR_GREEN,
++ 'yellow' => COLOR_YELLOW,
++ 'blue' => COLOR_BLUE,
++ 'magenta' => COLOR_MAGENTA,
++ 'cyan' => COLOR_CYAN,
++ 'white' => COLOR_WHITE
++ };
++
++ if (not $this->{-colors}) {
++ return 0;
++ }
++ if (not defined($fg) and not defined($bg)) {
++ return ($Curses::UI::colorpair->{$name} || 0);
++ }
++ else {
++ my $n = $Curses::UI::colorpair->{$name};
++ if (not defined($n)) {
++ $Curses::UI::colorpairs++;
++ $n = $Curses::UI::colorpairs;
++ }
++ $fg = $colors_name2num->{$fg} || 'default';
++ if ($fg eq 'default') {
++ my ($fg_d, $bg_d) = (0, 0);
++ pair_content(0, $fg_d, $bg_d);
++ $fg = $fg_d;
++ }
++ $bg = $colors_name2num->{$bg} || 'default';
++ if ($bg eq 'default') {
++ my ($fg_d, $bg_d) = (0, 0);
++ pair_content(0, $fg_d, $bg_d);
++ $bg = $bg_d;
++ }
++ init_pair($n, $fg, $bg);
++ $Curses::UI::colorpair->{$name} = $n;
++ return $n;
++ }
++}
++
++# ----------------------------------------------------------------------
+ # Window resizing support
+ # ----------------------------------------------------------------------
+
+@@ -143,6 +199,23 @@
+ initscr();
+ noecho();
+ raw();
++
++ # Color support
++ if ($this->{-colors}) {
++ if (has_colors()) {
++ start_color();
++ #my $bg = -1;
++ #use_default_colors();
++ my $bg = COLOR_BLACK;
++ assume_default_colors(COLOR_WHITE, $bg);
++ $Curses::UI::colorpair->{"default"} = 0;
++ $Curses::UI::colorpairs = 1;
++ $this->colorpair('selected', 'default', 'default');
++ }
++ else {
++ $this->{-colors} = 0;
++ }
++ }
+
+ # Mouse events if possible
+ my $old = 0;
+Index: lib/Curses/UI/Label.pm
+===================================================================
+RCS file: /u/rse/wrk/cui/cvs/cui/lib/Curses/UI/Label.pm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -u -d -u -d -r1.1.1.1 -r1.2
+--- lib/Curses/UI/Label.pm 2002/11/20 15:00:33 1.1.1.1
++++ lib/Curses/UI/Label.pm 2002/11/21 18:14:03 1.2
+@@ -50,6 +50,7 @@
+ -dim => 0,
+ -blink => 0,
+ -paddingspaces => 0, # Pad text with spaces?
++ -colorpair => undef, # Color-pair attribute
+
+ %userargs,
+
+@@ -103,6 +104,7 @@
+ sub underline ($;$) { shift()->set_attribute('-underline', shift()) }
+ sub dim ($;$) { shift()->set_attribute('-dim', shift()) }
+ sub blink ($;$) { shift()->set_attribute('-blink', shift()) }
++sub colorpair ($;$) { shift()->set_attribute('-colorpair', shift()) }
+
+ sub set_attribute($$;)
+ {
+@@ -182,6 +184,7 @@
+ $this->{-canvasscr}->attron(A_UNDERLINE) if $this->{-underline};
+ $this->{-canvasscr}->attron(A_BLINK) if $this->{-blink};
+ $this->{-canvasscr}->attron(A_DIM) if $this->{-dim};
++
$this->{-canvasscr}->attron(COLOR_PAIR($this->root->colorpair($this->{-colorpair})))
if $this->{-colorpair};
+
+ # Draw the text. Clip it if it is too long.
+ my $ypos = 0;
+Index: lib/Curses/UI/Listbox.pm
+===================================================================
+RCS file: /u/rse/wrk/cui/cvs/cui/lib/Curses/UI/Listbox.pm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -u -d -u -d -r1.1.1.1 -r1.2
+--- lib/Curses/UI/Listbox.pm 2002/11/20 15:00:33 1.1.1.1
++++ lib/Curses/UI/Listbox.pm 2002/11/21 18:14:03 1.2
+@@ -289,10 +289,12 @@
+ }
+
+ # Show selected element bold.
+- if (not $this->{-multi} and
+- not $this->{-radio} and
+- defined $this->{-selected} and
+- $this->{-selected} == $i) {
++ if ( ( not $this->{-multi}
++ and defined $this->{-selected}
++ and $this->{-selected} == $i)
++ or ( $this->{-multi}
++ and defined $this->{-selected}
++ and $this->{-selected}->{$i}) ) {
+ $this->{-canvasscr}->attron(A_BOLD);
+ }
+
+Index: lib/Curses/UI/TextEditor.pm
+===================================================================
+RCS file: /u/rse/wrk/cui/cvs/cui/lib/Curses/UI/TextEditor.pm,v
+retrieving revision 1.1.1.1
+retrieving revision 1.2
+diff -u -d -u -d -r1.1.1.1 -r1.2
+--- lib/Curses/UI/TextEditor.pm 2002/11/20 15:00:34 1.1.1.1
++++ lib/Curses/UI/TextEditor.pm 2002/11/21 20:13:17 1.2
+@@ -150,6 +150,7 @@
+ -vscrollbar => 0, # show vertical scrollbar
+ -hscrollbar => 0, # show horizontal scrollbar
+ -readonly => 0, # only used as viewer?
++ -reverse => 0, # show in reverse
+
+ # Single line options
+ -password => undef, # masquerade chars with given char
+@@ -450,9 +451,10 @@
+
+ # Turn on underlines and fill the screen with lines
+ # if neccessary.
+- if ($this->{-showlines})
++ if ($this->{-showlines} or $this->{-reverse})
+ {
+- $this->{-canvasscr}->attron(A_UNDERLINE);
++ $this->{-canvasscr}->attron(A_UNDERLINE) if ($this->{-showlines});;
++ $this->{-canvasscr}->attron(A_REVERSE) if ($this->{-reverse});
+ for my $y (0..$this->canvasheight-1) {
+ $this->{-canvasscr}->addstr($y, 0, " "x($this->canvaswidth));
+ }
+@@ -463,9 +465,11 @@
+ {
+ if (defined $this->{-search_highlight}
+ and $this->{-search_highlight} == ($id+$this->{-yscrpos})) {
+- $this->{-canvasscr}->attron(A_REVERSE);
++ $this->{-canvasscr}->attron(A_REVERSE) if (not $this->{-reverse});
++ $this->{-canvasscr}->attroff(A_REVERSE) if ($this->{-reverse});
+ } else {
+- $this->{-canvasscr}->attroff(A_REVERSE);
++ $this->{-canvasscr}->attroff(A_REVERSE) if (not $this->{-reverse});
++ $this->{-canvasscr}->attron(A_REVERSE) if ($this->{-reverse});
+ }
+
+ my $l = $this->{-scr_lines}->[$id + $this->{-yscrpos}];
+@@ -559,6 +563,7 @@
+ }
+
+ $this->{-canvasscr}->attroff(A_UNDERLINE) if $this->{-showlines};
++ $this->{-canvasscr}->attroff(A_REVERSE) if $this->{-reverse};
+ $this->{-canvasscr}->noutrefresh();
+ doupdate() unless $no_doupdate;
+ return $this;
Index: lib/Curses/UI/Widget.pm
===================================================================
RCS file: /u/rse/wrk/cui/cvs/cui/lib/Curses/UI/Widget.pm,v
retrieving revision 1.1.1.1
-diff -u -d -u -d -r1.1.1.1 Widget.pm
+retrieving revision 1.2
+diff -u -d -u -d -r1.1.1.1 -r1.2
--- lib/Curses/UI/Widget.pm 2002/11/20 15:00:33 1.1.1.1
-+++ lib/Curses/UI/Widget.pm 2002/11/20 15:41:37
++++ lib/Curses/UI/Widget.pm 2002/11/21 18:14:03 1.2
@@ -460,7 +460,7 @@
my $parent = $this->parent;
$parent->focus($this) if defined $parent;
@@ -37,7 +258,68 @@
return $this;
}
-@@ -943,6 +943,8 @@
+@@ -511,6 +511,7 @@
+ if ($this->{-sbborder}) # Square bracket ([,]) border
+ {
+ $this->{-borderscr}->attron(A_BOLD) if $this->{-focus};
++
$this->{-borderscr}->attron(COLOR_PAIR($this->root->colorpair('selected'))) if
$this->{-focus};
+ my $offset = 1;
+ $offset++ if $this->{-vscrollbar};
+ for my $y (0 .. $this->{-sh}-1)
+@@ -520,10 +521,12 @@
+ $this->{-borderscr}->addstr($rel_y, $this->{-bw}-$offset, ']');
+ }
+ $this->{-borderscr}->attroff(A_BOLD) if $this->{-focus};
++
$this->{-borderscr}->attroff(COLOR_PAIR($this->root->colorpair('selected'))) if
$this->{-focus};
+ }
+ elsif ($this->{-border}) # Normal border
+ {
+ $this->{-borderscr}->attron(A_BOLD) if $this->{-focus};
++
$this->{-borderscr}->attron(COLOR_PAIR($this->root->colorpair('selected'))) if
$this->{-focus};
+ if ($this->root->compat) {
+ $this->{-borderscr}->border(
+ '|','|','-','-',
+@@ -533,6 +536,7 @@
+ $this->{-borderscr}->box(ACS_VLINE, ACS_HLINE);
+ }
+ $this->{-borderscr}->attroff(A_BOLD) if $this->{-focus};
++
$this->{-borderscr}->attroff(COLOR_PAIR($this->root->colorpair('selected'))) if
$this->{-focus};
+
+ # Draw a title if needed.
+ if (defined $this->{-title})
+@@ -612,6 +616,7 @@
+ # Draw the base of the scrollbar, in case
+ # there is no border.
+ $this->{-borderscr}->attron(A_BOLD) if $this->{-focus};
++
$this->{-borderscr}->attron(COLOR_PAIR($this->root->colorpair('selected'))) if
$this->{-focus};
+ $this->{-borderscr}->move($ypos_min, $xpos);
+ $this->{-borderscr}->vline(ACS_VLINE,$scrlen);
+ if ($this->root->compat) {
+@@ -620,6 +625,7 @@
+ $this->{-borderscr}->vline(ACS_VLINE,$scrlen);
+ }
+ $this->{-borderscr}->attroff(A_BOLD) if $this->{-focus};
++
$this->{-borderscr}->attroff(COLOR_PAIR($this->root->colorpair('selected'))) if
$this->{-focus};
+
+ # Should an active region be drawn?
+ my $scroll_active = ($this->{-vscrolllen} > $scrlen);
+@@ -677,6 +683,7 @@
+ # Draw the base of the scrollbar, in case
+ # there is no border.
+ $this->{-borderscr}->attron(A_BOLD) if $this->{-focus};
++
$this->{-borderscr}->attron(COLOR_PAIR($this->root->colorpair('selected'))) if
$this->{-focus};
+ $this->{-borderscr}->move($ypos, $xpos_min);
+ if ($this->root->compat) {
+ $this->{-borderscr}->hline('-',$scrlen);
+@@ -684,6 +691,7 @@
+ $this->{-borderscr}->hline(ACS_HLINE,$scrlen);
+ }
+ $this->{-borderscr}->attroff(A_BOLD) if $this->{-focus};
++
$this->{-borderscr}->attroff(COLOR_PAIR($this->root->colorpair('selected'))) if
$this->{-focus};
+
+ # Should an active region be drawn?
+ my $scroll_active = ($this->{-hscrolllen} > $scrlen);
+@@ -943,6 +951,8 @@
my $show_cursor = $this->{-nocursor} ? 0 : 1;
$this->root->cursor_mode($show_cursor);
@@ -46,7 +328,7 @@
return $this;
}
-@@ -951,6 +953,7 @@
+@@ -951,6 +961,7 @@
my $this = shift;
$this->{-focus} = 0;
$this->run_event('-onblur');
@@ -54,3 +336,46 @@
return $this;
}
+Index: examples/demo-widgets
+===================================================================
+RCS file: /u/rse/wrk/cui/cvs/cui/examples/demo-widgets,v
+retrieving revision 1.1.1.1
+retrieving revision 1.4
+diff -u -d -u -d -r1.1.1.1 -r1.4
+--- examples/demo-widgets 2002/11/20 15:00:36 1.1.1.1
++++ examples/demo-widgets 2002/11/21 20:14:59 1.4
+@@ -1,5 +1,10 @@
+-#!/usr/bin/perl -w
++#!/usr/lpkg/bin/perl -w
+ use strict;
++use lib "../lib";
++
++# make KEY_BTAB (shift-tab) working in XTerm
++# and also at the same time enable colors
++$ENV{TERM} = "xterm-vt220" if ($ENV{TERM} eq 'xterm');
+
+ my $debug = 0;
+ if (@ARGV and $ARGV[0] eq '-d') {
+@@ -19,7 +24,10 @@
+ my $cui = new Curses::UI (
+ -clear_on_exit => 1,
+ -debug => $debug,
++ -colors => 1,
+ );
++$cui->colorpair('selected', 'red', 'default');
++$cui->colorpair('white-on-red', 'white', 'red');
+
+ # Demo index
+ my $current_demo = 1;
+@@ -147,9 +155,10 @@
+
+ $w{1}->add(undef,'Label',-text=>"dim font",-y=>5,-dim=>1 );
+ $w{1}->add(undef,'Label',-text=>"bold font",-y=>7,-bold=>1 );
+-$w{1}->add(undef,'Label',-text=>"reversed font",-y=>9,-reversed => 1 );
++$w{1}->add(undef,'Label',-text=>"reversed font",-y=>9,-reverse => 1 );
+ $w{1}->add(undef,'Label',-text=>"underlined font",-x=>15,-y=>5,-underline=>1 );
+ $w{1}->add(undef,'Label',-text=>"blinking font",-x=>15,-y=>7,-blink=>1 );
++$w{1}->add(undef,'Label',-text=>"colorized font",-x=>15,-y=>9,-colorpair =>
'white-on-red' );
+
+ # ----------------------------------------------------------------------
+ # Buttons demo
Index: openpkg-src/perl-curses/perl-curses.spec
============================================================
$ cvs diff -u -r1.18 -r1.19 perl-curses.spec
--- openpkg-src/perl-curses/perl-curses.spec 20 Nov 2002 15:52:35 -0000 1.18
+++ openpkg-src/perl-curses/perl-curses.spec 21 Nov 2002 20:18:30 -0000 1.19
@@ -40,8 +40,8 @@
Distribution: OpenPKG [BASE]
Group: Language
License: GPL/Artistic
-Version: 20021120
-Release: 20021120
+Version: 20021121
+Release: 20021121
# list of sources
Source0: http://www.cpan.org/modules/by-module/Curses/Curses-%{V_curses}.tar.gz
Index: openpkg-web/news.txt
============================================================
$ cvs diff -u -r1.2077 -r1.2078 news.txt
--- openpkg-web/news.txt 21 Nov 2002 17:14:01 -0000 1.2077
+++ openpkg-web/news.txt 21 Nov 2002 20:18:30 -0000 1.2078
@@ -1,3 +1,4 @@
+21-Nov-2002: Upgraded package: P<perl-curses-20021121-20021121>
21-Nov-2002: Upgraded package: P<c-client-2002-20021121>
21-Nov-2002: Upgraded package: P<postfix-1.1.11-20021121>
21-Nov-2002: Upgraded package: P<teapop-0.3.5-20021121>
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]