Contents

Component IDEBaseGUI

comment:
(comment for IDEBaseGUI)

This component contains the base GUI Elements needed in IDEXotclIDE
Classes Classes Hierarchy

Class IDE::Dialog

parameter: {title Dialog} message {type ok}
superclasses:
IDE::DialogHelper
subclasses: IDE::IDialogEntry IDE::IDialogListEntry IDE::IDialogListChooser IDE::IDialogWithCheck IDE::IDialogList
comment:
Class methods are fasade to tk_message

Instprocs:

actionCancel {}
actionOk {}
init {}
postCancel {}
postOk {}
prompt {}
Procs:
error {text}
getDir {initial}
getOpenFile {fileTypes}
getSaveFile {initial}
message {text}
unknown {args}
yesNo {message}

Class IDE::DialogHelper

subclasses:
IDE::EditionChooser IDE::EditionsMultiChooser IDE::VersionChooser IDE::Dialog
comment:
Handle waiting for GUI events by using vwait command
see suspendUntilSignal method

Instprocs:

buildTopLevel {}
cleanUpAfterSignal {}
createSystemMenu {}
getResult {}
makeModelessDialog {}
signalFree {}
suspendUntilSignal {}
using vwait tcl command
Procs:
create {args}

Class IDE::Editor

parameter: {height 24} {width 80}
superclasses:
IDE::Text IDE::GUICommands
subclasses: IDE::MethodEdit IDE::ProtocolText
Instprocs:
addToPopMenu {m}
browseSelection {}
evalDisplaySelection {}
evalInspectSelection {}
evalSelection {}
evalString {string}
evalSubstituteSelection {}
fileAppend {}
fileIn {}
fileOut {}
fillMenuStruct {ms}
getMenuStruct {}
getWordUnderCursor {}
isValidTextSelection {}
popMenuWindow {}
setType {type}
setTypedText {text type}
showPopMenu {x y}
substituteString {string}
Procs:
initializeAfterLoad {}

Class IDE::FocusPerKey

parameter: focusKey nextFocus prevFocus
subclasses:
IDE::HeritageClassView IDE::MethodView IDE::CompView IDE::ClassView IDE::MethodCategoryView
comment:
To used only whith GUI Klasses as Subklass by Multiheritage

use parameter focusKey to speciefi Key binding to get focus to widget

The main class must understand
getFocusKey

Instprocs:

getFocus {}
getFocusWin {}
init {args}

Class IDE::GUICommands

parameter: {atHead 0}
subclasses:
IDE::ConfigmapBrowser IDE::TrackedMethodList IDE::SyntaxChecker IDE::ArrayBrowser IDE::HeritageClassView IDE::MethodView IDE::CompView IDE::SubObjectsView IDE::ObjectBrowser IDE::ClassView IDE::ConfigurationBrowser IDE::VarsView IDE::MethodListView IDE::MethodCategoryView IDE::ObjectsView IDE::Editor
comment:
A Class that can build menues to toplevel.
Await window in win instance
and menu window in [$win toplevel].mb
The menus will be specified by tcl list.

you can specify parametr atHead to add menue at first position

Instprocs:

fillMenuStruct {ms}
getMenuStruct {}
init {args}
menuInsertions {aMenuStruct}
This method let you specify the additional menus entry point for overwritting or mixins objects/classes it can be in the middle of menu structure call this from fillMenuStruct
popMenuWindow {}
upsMessage {text}

Class IDE::HListView

parameter: {multiselect 0} label
superclasses:
IDE::ListView
subclasses: IDE::HeritageClassView IDE::SubObjectsView IDE::ClassView
comment:
Simple Hierarch List Browser.

Instprocs:

rekListInit {hlist deep}
selectedItem {}
setHList {hl}
setList {list}

Class IDE::IDialogEntry

parameter: entry {type okcancel} {width 20}
superclasses:
IDE::Dialog
Instprocs:
init {}
postOk {}
Procs:
getValue {mes text}
getValueWithCancel {mes text}

Class IDE::IDialogList

parameter: list {selectedItem {}} {type okcancel}
superclasses:
IDE::Dialog
Instprocs:
init {}
postOk {}
Procs:
getListItem {message list}

Class IDE::IDialogListChooser

parameter: listin listout {type okcancel}
superclasses:
IDE::Dialog
subclasses: IDE::IDialogListOrderChooser
Instprocs:
addToList {}
createBaseSubwidgets {}
createGUI {}
delFromList {}
getvalue {}
init {}
postOk {}

Class IDE::IDialogListEntry

parameter: entry list {type okcancel} {selectedItem {}}
superclasses:
IDE::Dialog
Instprocs:
getvalue {}
init {}
postOk {}

Class IDE::IDialogListOrderChooser

parameter: listin listout {type okcancel}
superclasses:
IDE::IDialogListChooser
Instprocs:
addToList {}
createGUI {}
downItem {}
upItem {}

Class IDE::IDialogWithCheck

parameter: {check 0} {checktext {show it again}}
superclasses:
IDE::Dialog
comment:
Prompter with additional check box
addiational paramer -checktext -check

Instprocs:

init {}

Class IDE::ListView

parameter: {multiselect 0} label {height 10} width
subclasses:
IDE::ListViewEvent IDE::TrackedMethodList IDE::VersionView IDE::AvailableView IDE::MethodView IDE::CompView IDE::VarsView IDE::MethodListView IDE::MethodCategoryView IDE::ObjectsView IDE::HListView IDE::NListView
Instprocs:
addItem {item}
addItemAt {item pos}
addItemAtTail {item}
addSelection {first last}
buttonDoublePush {}
buttonPush {}
dispatchWithSelected {procName}
dispatchWithSelectedAll {procName}
dispatchWithSelectedMulti {procName}
getFocusWin {}
getList {}
init {window}
isValidSelection {}
markItem {item}
popMenuWindow {}
removeItem {item}
removeItemAt {pos}
removeSelection {first last}
renameItem {item newname}
renameItemUnsorted {item newname}
reorderSelected {shift}
resetList {}
selectItem {item}
selectedIndex {}
selectedItem {}
selectedItemFirst {}
setList {list}
setListUnsorted {list}
setSelectedIndex {cur notify}
setSelectedItem {item notify}
unselect {}
upsMessage {text}

Class IDE::MenuCheckbox

parameter: name {command {}} {variable {}}
superclasses:
IDE::MenuItem
Instprocs:
createItemTkMenu {win tl_win}

Class IDE::MenuCommand

parameter: {accelerator {}} {underline {}} name command
superclasses:
IDE::MenuItem
Instprocs:
createItemTkMenu {win tl_win}

Class IDE::MenuItem

parameter: {enableList {}} {popdownMenu 0}
subclasses:
IDE::MenuRadiobutton IDE::MenuCheckbox IDE::MenuCommand IDE::MenuSeparator IDE::MenuStruct
comment:
This is the abstract root class for buildung menu stucture.

enableList is a list of method that determinate the enablement of item.
(see checkEnable method)
enableList in IDE::MetnuStruct has special meaning.
It effect on all subitems.
If the first ellement is noglobal. It means the parent menu struct
enablement do not effect

Instprocs:

buildItemPopDownMenu {win twin}
createItemTkMenu {win tl_win}
migrateTkMenu {}

Class IDE::MenuRadiobutton

parameter: name command {value {}} {variable {}}
superclasses:
IDE::MenuItem
Instprocs:
createItemTkMenu {win tl_win}

Class IDE::MenuSeparator

superclasses:
IDE::MenuItem
Instprocs:
createItemTkMenu {win tl_win}

Class IDE::MenuStruct

parameter: enablementHandler
superclasses:
IDE::MenuItem
comment:
This Class represent normall und popdown menus.
It is used from IDE::GUICommand classes.

The enablement is computed dynamical on evry maping of menu.
In the enableList stuct can be commands specified that are invoked
for checking enablement. These method are invoked on object specified
in enblementHandler parameter.
Only the all of specified method return true the menu item is enabled

See also IDE::MenuItem

Instprocs:

addCascadeMenu {menu}
addCheckButton {name variable command}
addCommand {name command underline accelerator popdownMenu}
addCommand2 {name command enable}
addCommand3 {name command enable}
addMenuItem {menuItem}
addRadioButton {name variable command value}
addSeparator {}
buildItemPopDownMenu {win tl_win}
buildPopDownMenu {win twin}
checkEnable {win}
checkPopDownEnablement {win}
createItemTkMenu {win tl_win}
createTkMenu {win tl_win}
hasPopdownMenu {}
init {tname uline}
isEmpty {}
menuIsMapped {win}
migrateTkMenu {}
showPopMenu {win x y}

Class IDE::NListView

parameter: notify notifyProc
superclasses:
IDE::ListView
Instprocs:
selectItem {item}

Class IDE::ProtocolText

superclasses:
IDE::Editor
Instprocs:
append {text}
clearProtocol {}
init {win}

Class IDE::StateButton

parameter: state states command
subclasses:
IDE::StateButtonActivity
Instprocs:
changeState {}
init {window}
setState {newState}
setStates {newStates}

Class IDE::StateButtonActivity

superclasses:
IDE::StateButton
Instprocs:
init {window}
setActivity {bool}

Class IDE::Text

parameter: {height 24} {width 80}
subclasses:
IDE::Editor
comment:
Fasade for tk widget text

Instprocs:

appendToCursor {text}
colorizeRange {begin end}
colorizeRegExprText {text cur}
colorizeRegExprTextAll {text}
colorizeText {text cur}
colorizeTextAll {text}
getSelection {}
getText {}
getTextWindow {}
init {window}
initTags {}
makeEmpty {}
removeColorize {}
setText {text}
tagRange {tag begin end}
tagRegExprText {tag text cur}
tagRegExprTextAll {tag text}
viewPos {pos}