TVision
view release on metacpan or search on metacpan
hcOMouse = 27,
hcORestoreDesktop = 30,
hcOSaveDesktop = 29,
hcOpenBtn = 36,
hcOptions = 26,
hcPuzzle = 3,
hcSAbout = 8,
hcSAsciiTable = 11,
hcSystem = 7,
hcViewer = 2,
hcWCascade = 22,
hcWClose = 25,
hcWNext = 23,
hcWPrevious = 24,
hcWSizeMove = 19,
hcWTile = 21,
hcWZoom = 20,
hcWindows = 18;
const int cmAboutCmd = 100;
const int cmOpenCmd = 105;
const int cmChDirCmd = 106;
const int cmMouseCmd = 108;
const int cmSaveCmd = 110;
const int cmRestoreCmd = 111;
const int cmEventViewCmd= 112;
TMenuBar *TVApp::initMenuBar(TRect r) {
printf("(%d,%d)-(%d,%d)\n",r.a.x, r.a.y,r.b.x,r.b.y);
if (default_TMenuBar)
return default_TMenuBar;
TSubMenu& sub1 =
*new TSubMenu( "~\xf0~", 0, hcSystem ) +
*new TMenuItem( "~A~bout...", cmAboutCmd, kbNoKey, hcSAbout ) +
newLine() +
*new TMenuItem( "~E~vent Viewer", cmEventViewCmd, kbAlt0, hcNoContext, "Alt-0" );
TSubMenu& sub2 =
*new TSubMenu( "~F~ile", 0, hcFile ) +
*new TMenuItem( "~O~pen...", cmOpenCmd, kbF3, hcFOpen, "F3" ) +
*new TMenuItem( "~C~hange Dir...", cmChDirCmd, kbNoKey, hcFChangeDir ) +
newLine() +
*new TMenuItem( "~D~OS Shell", cmDosShell, kbNoKey, hcFDosShell ) +
*new TMenuItem( "E~x~it", cmQuit, kbAltX, hcFExit, "Alt-X" );
TSubMenu& sub3 =
*new TSubMenu( "~W~indows", 0, hcWindows ) +
*new TMenuItem( "~R~esize/move", cmResize, kbCtrlF5, hcWSizeMove, "Ctrl-F5" ) +
*new TMenuItem( "~Z~oom", cmZoom, kbF5, hcWZoom, "F5" ) +
*new TMenuItem( "~N~ext", cmNext, kbF6, hcWNext, "F6" ) +
*new TMenuItem( "~C~lose", cmClose, kbAltF3, hcWClose, "Alt-F3" ) +
*new TMenuItem( "~T~ile", cmTile, kbNoKey, hcWTile ) +
*new TMenuItem( "C~a~scade", cmCascade, kbNoKey, hcWCascade );
TSubMenu& sub4 =
*new TSubMenu( "~O~ptions", 0, hcOptions ) +
*new TMenuItem( "~M~ouse...", cmMouseCmd, kbNoKey, hcOMouse ) +
(TMenuItem&) (
*new TSubMenu( "~D~esktop", 0 ) +
*new TMenuItem( "~S~ave desktop", cmSaveCmd, kbNoKey, hcOSaveDesktop ) +
*new TMenuItem( "~R~etrieve desktop", cmRestoreCmd, kbNoKey, hcORestoreDesktop )
);
r.b.y = r.a.y + 1;
return (new TMenuBar( r, sub1 + sub2 + sub3 + sub4 ) );
}
ushort spin_loop() {
ushort endState;
do {
endState = 0;
do {
TEvent e;
tapp->getEvent( e );
tapp->handleEvent( e );
if( e.what != evNothing )
tapp->eventError( e );
} while( endState == 0 );
} while( !tapp->valid(endState) );
return endState;
}
MODULE=TVision PACKAGE=TVision
void spin_loop()
CODE:
if(!tapp)
return;
TEvent e;
tapp->getEvent( e );
tapp->handleEvent( e );
if( e.what != evNothing )
tapp->eventError( e );
MODULE=TVision::TApplication PACKAGE=TVision::TApplication
void on_idle(SV *self, CV *c = 0)
CODE:
if (cv_on_idle)
SvREFCNT_dec(cv_on_idle);
cv_on_idle = c;
if (c)
SvREFCNT_inc(c);
void handleEvent(SV *self, CV *c = 0)
CODE:
if (cv_handleEvent)
SvREFCNT_dec(cv_handleEvent);
cv_handleEvent = c;
if (c)
SvREFCNT_inc(c);
void onCommand(SV *self, CV *c = 0)
CODE:
if (cv_onCommand)
SvREFCNT_dec(cv_onCommand);
cv_onCommand = c;
if (c)
SvREFCNT_inc(c);
MODULE=TVision::TButton PACKAGE=TVision::TButton
( run in 0.680 second using v1.01-cache-2.11-cpan-364913b4093 )