MSV FM

[email protected]: ~ $
Path : /lib64/tcl8.6/Tix8.4.3/
File Upload :
Current < : //lib64/tcl8.6/Tix8.4.3/NoteBook.tcl

# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: NoteBook.tcl,v 1.7 2004/03/28 02:44:57 hobbs Exp $
#
# NoteBook.tcl --
#
#	tixNoteBook: NoteBook type of window.
#
# Copyright (c) 1993-1999 Ioi Kim Lam.
# Copyright (c) 2000-2001 Tix Project Group.
# Copyright (c) 2004 ActiveState
#
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#

tixWidgetClass tixNoteBook {
    -classname TixNoteBook
    -superclass tixVStack
    -method {
    }
    -flag {
    }
    -configspec {
	{-takefocus takeFocus TakeFocus 0 tixVerifyBoolean}
    }
    -default {
	{.nbframe.tabPadX	8}
	{.nbframe.tabPadY	5}
	{.nbframe.borderWidth	2}
	{*nbframe.relief	raised}
    }
}

proc tixNoteBook:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec

    set data(pad-x1) 0
    set data(pad-x2) 0
    set data(pad-y1) 20
    set data(pad-y2) 0
}

proc tixNoteBook:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(w:top) [tixNoteBookFrame $w.nbframe -slave 1 -takefocus 1]
    set data(w:nbframe) $data(w:top)

    bind $data(w:top) <ButtonPress-1> [list tixNoteBook:MouseDown $w %x %y]
    bind $data(w:top) <ButtonRelease-1> [list tixNoteBook:MouseUp $w %x %y]

    bind $data(w:top) <B1-Motion> [list tixNoteBook:MouseDown $w %x %y]

    bind $data(w:top) <Left>  [list tixNoteBook:FocusNext $w prev]
    bind $data(w:top) <Right> [list tixNoteBook:FocusNext $w next]

    bind $data(w:top) <Return> [list tixNoteBook:SetFocusByKey $w]
    bind $data(w:top) <space>  [list tixNoteBook:SetFocusByKey $w]
}

#----------------------------------------------------------------------
# Public methods
#----------------------------------------------------------------------
proc tixNoteBook:add {w child args} {
    upvar #0 $w data

    set ret [eval tixChainMethod $w add $child $args]

    set new_args ""
    foreach {flag value} $args {
	if {$flag ne "-createcmd" && $flag ne "-raisecmd"} {
	    lappend new_args $flag
	    lappend new_args $value
	}
    }

    eval [linsert $new_args 0 $data(w:top) add $child]

    return $ret
}

proc tixNoteBook:raise {w child} {
    upvar #0 $w data

    tixChainMethod $w raise $child

    if {[$data(w:top) pagecget $child -state] eq "normal"} {
	$data(w:top) activate $child
    }
}

proc tixNoteBook:delete {w child} {
    upvar #0 $w data

    tixChainMethod $w delete $child
    $data(w:top) delete $child
}

#----------------------------------------------------------------------
# Private methods
#----------------------------------------------------------------------
proc tixNoteBook:Resize {w} {
    upvar #0 $w data

    # We have to take care of the size of the tabs so that 
    #
    set rootReq [$data(w:top) geometryinfo]
    set tW [lindex $rootReq 0]
    set tH [lindex $rootReq 1]

    set data(pad-x1) 2
    set data(pad-x2) 2
    set data(pad-y1) [expr {$tH + $data(-ipadx) + 1}]
    set data(pad-y2) 2
    set data(minW)   [expr {$tW}]
    set data(minH)   [expr {$tH}]

    # Now that we know data(pad-y1), we can chain the call
    #
    tixChainMethod $w Resize
}

proc tixNoteBook:MouseDown {w x y} {
    upvar #0 $w data

    focus $data(w:top)

    set name [$data(w:top) identify $x $y]
    $data(w:top) focus $name
    set data(w:down) $name
}

proc tixNoteBook:MouseUp {w x y} {
    upvar #0 $w data

    #it could happen (using the tk/menu) that a MouseUp
    #proceeds without a MouseDown event!!
    if {![info exists data(w:down)] || ![info exists data(w:top)]} {
	return
    }

    set name [$data(w:top) identify $x $y]

    if {$name ne "" && $name eq $data(w:down)
	&& [$data(w:top) pagecget $name -state] eq "normal"} {
        $data(w:top) activate $name
        tixCallMethod $w raise $name
    } else {
        $data(w:top) focus ""
    }
}


#----------------------------------------------------------------------
#
# Section for keyboard bindings
#
#----------------------------------------------------------------------

proc tixNoteBook:FocusNext {w dir} {
    upvar #0 $w data

    if {[$data(w:top) info focus] == ""} {
	set name [$data(w:top) info active]
	$data(w:top) focus $name

	if {$name ne ""} {
	    return
	}
    } else {
	set name [$data(w:top) info focus$dir]
 	$data(w:top) focus $name
   }
}

proc tixNoteBook:SetFocusByKey {w} {
    upvar #0 $w data

    set name [$data(w:top) info focus]

    if {$name ne "" && [$data(w:top) pagecget $name -state] eq "normal"} {
	tixCallMethod $w raise $name
	$data(w:top) activate $name
    }
}

#----------------------------------------------------------------------
# Automatic bindings for alt keys
#----------------------------------------------------------------------
proc tixNoteBookFind {w char} {
    set char [string tolower $char]

    foreach child [winfo child $w] {
	if {![winfo ismapped $w]} {
	    continue
	}
	switch -exact -- [winfo class $child] {
	    Toplevel    { continue }
	    TixNoteBook {
		set nbframe [$child subwidget nbframe]
		foreach page [$nbframe info pages] {
		    set char2 [string index [$nbframe pagecget $page -label] \
				   [$nbframe pagecget $page -underline]]
		    if {($char eq [string tolower $char2] || $char eq "")
			&& [$nbframe pagecget $page -state] ne "disabled"} {
			return [list $child $page]
		    }
		}
	    }
	}
	# Well, this notebook doesn't match with the key, but maybe
	# it contains a "subnotebook" that will match ..
	set match [tixNoteBookFind $child $char]
	if {$match ne ""} {
	    return $match
	}
    }
    return ""
}

proc tixTraverseToNoteBook {w char} {
    if {$char eq ""} {
	return 0
    }
    if {![winfo exists $w]} {
	return 0
    }
    set list [tixNoteBookFind [winfo toplevel $w] $char]
    if {$list ne ""} {
	[lindex $list 0] raise [lindex $list 1]
	return 1
    }
    return 0
}

#----------------------------------------------------------------------
# Set default class bindings
#----------------------------------------------------------------------

bind all <Alt-KeyPress> "+tixTraverseToNoteBook %W %A"
bind all <Meta-KeyPress> "+tixTraverseToNoteBook %W %A"

Bethany
Bethany
0%

THE FINEST HOTEL NEAR LAKE KIVU

The Perfect Base For You

Required fields are followed by *





EC1A68011

About Us

Delicious Interior With The Pinch Of Everything

Bethany Investment group is Presbyterian church in Rwanda(EPR) company that manage Hotel and Guest house in Karongi (Bethany Hotel), ISANO branch in GIKONDO(Kigali), Kiyovu branch(Kigali), AMIZERO branch(Nyagatare-East) and Gisenyi Branch(Rubavu).

Accomodation

Get a Comfortable Room
Feel The Comfort

Get a comfortable room and feel our hotel’s comfort. Bethany Hotel features a variety of fully furnished rooms with extra space, Executive rooms, Deluxe rooms with a beautiful lake view and garden space, Deluxe rooms, comfort rooms, family rooms and standard rooms at your service.

Standard Single

Services

We Provide Top Class Facility
Especially For You

Beach BBQ Party

Kick back on the beach& and enjoy our berbecue from our masterchef

Breakfast

Kick back at our hotels& enjoy our breakfast from our masterchef

Conference Hall

Kick back at our hotels& enjoy our conference halls from all bethany branches

Enjoy with your partner

Honeymoon Package

80%

Get In Touch

Don’t Miss Any Update

    +

    Search your Room

    Required fields are followed by *