Changeset 111

Show
Ignore:
Timestamp:
12/26/07 07:56:27 (11 months ago)
Author:
ashley
Message:

Split requestors off into %rebgui-requestors.r
Requestors and functions now appear in their respective parent objects
Added new on-resize handler
tab-panel.r and chat.r fixes
RebDOC.r enhancements

Files:
17 added
15 removed
33 modified

Legend:

Unmodified
Added
Removed
  • RebDOC.r

    r110 r111  
    55        History: { 
    66                110     Initial release 
     7                111     References new requestors object 
    78        } 
    89] 
    910 
    10 ;do/args %create-distribution.r 'quiet 
    11 ;write %../../view/lib/rebgui.r read %rebgui.r 
    12  
    13 requestors: copy [] 
    14 functions: copy [] 
    15  
    16 query/clear system/words 
    17  
    1811do %rebgui.r 
    19  
    20 foreach word sort query/clear system/words [ 
    21         all [ 
    22                 value? word 
    23                 not find [ctx-rebgui rebface] word 
    24                 either any ["request-" = copy/part form word 8 find [alert question] word] [ 
    25                         insert tail requestors word 
    26                 ] [insert tail functions word] 
    27         ] 
    28 ] 
    29  
    30 widgets: find first ctx-rebgui/widgets 'anim 
    31 objects: copy [ctx-rebgui/subface rebface ctx-rebgui/locale* ctx-rebgui/colors ctx-rebgui/sizes ctx-rebgui/behaviors ctx-rebgui/effects ctx-rebgui/on-fkey ctx-rebgui/edit] 
    3212 
    3313make object! [ 
    3414 
     15        widgets:        find first ctx-rebgui/widgets 'anim 
     16        requestors:     find first ctx-rebgui/requestors 'alert 
     17        functions:      find first ctx-rebgui/functions 'append-widget 
     18        objects:        copy [rebface ctx-rebgui/behaviors ctx-rebgui/colors ctx-rebgui/edit ctx-rebgui/effects ctx-rebgui/locale* ctx-rebgui/on-fkey ctx-rebgui/sizes ctx-rebgui/subface] 
     19 
     20        sizes: make object! [ 
     21                view:           to integer! (length? mold/only get ctx-rebgui/view*) / 1024 
     22                locale:         to integer! (length? mold/only get ctx-rebgui/locale*) / 1024 
     23                rebgui:         to integer! (length? mold/only get ctx-rebgui) / 1024 - view - locale 
     24                widgets:        to integer! (length? mold/only get ctx-rebgui/widgets) / 1024 
     25                requestors:     to integer! (length? mold/only get ctx-rebgui/requestors) / 1024 
     26                functions:      to integer! (length? mold/only get ctx-rebgui/functions) / 1024 
     27                objects:        rebgui - widgets - requestors - functions 
     28        ] 
     29         
    3530        func-help: make function! ['word /local s p1 p2] [ 
    3631                p1: :print 
     
    4540        ] 
    4641 
    47         show-ref: make function! [word face /widget /requestor /object /local txt lay arg] [ 
     42        show-ref: make function! [word face /widget /requestor /object /local txt lnk lay arg] [ 
     43                all [word? word word: to word! word] 
    4844                txt: either widget [examine/no-print :word] [func-help :word] 
     45                lnk: case [ 
     46                        widget          [http://trac.geekisp.com/rebgui/browser/widgets/] 
     47                        requestor       [http://trac.geekisp.com/rebgui/browser/requestors/] 
     48                        object          [http://trac.geekisp.com/rebgui/browser/] 
     49                        true            [http://trac.geekisp.com/rebgui/browser/functions/] 
     50                ] 
    4951                if requestor [ 
    5052                        arg: switch/default word [ 
    51                                 request-menu            [[ face ["A" [] "B" []] ]] 
     53                                request-menu            [[ face ["A" [] "B" [] "C" []] ]] 
    5254                                request-progress        [[ 10 [loop 10 [wait .5 step]] ]] 
    5355                                request-spellcheck      [[ make rebface [text: "wordz"] ]] 
     56                                splash                          [[ [color: ctx-rebgui/colors/window image: load %images/logo.png size: image/size] unview ]] 
    5457                        ][ 
    5558                                copy "Text." 
     
    6164                        panel 150 white data [ 
    6265                                after 2 
    63                                 label 20 "Source"       link ( 
    64                                         either object [http://trac.geekisp.com/rebgui/browser/rebgui-ctx.r] [ 
    65                                                 rejoin [either widget [http://trac.geekisp.com/rebgui/browser/widgets/] [http://trac.geekisp.com/rebgui/browser/functions/] word %.r] 
    66                                         ] 
    67                                 ) 
     66                                label 20 "Source"       link (rejoin [lnk either object [%rebgui-ctx] [word] %.r]) 
    6867                                label 20 "Size"         text (remove reform [to money! (length? mold/only get either widget [ctx-rebgui/widgets/:word] [either word? word [word] [do word]]) / 1024 "Kb"]) 
    6968                        ] 
    7069                ] 
    71                 all [widget insert tail lay compose/deep [panel 150 data [(load trim second parse/all txt "^/")]]] 
    72                 all [requestor insert tail lay compose/deep [panel 150 data [button 50x10 (form word) [(word) (arg)]]]] 
     70                all [ 
     71                        widget 
     72                        insert tail lay compose/deep [panel 150 data [(load trim second parse/all txt "^/")]] 
     73                ] 
     74                all [ 
     75                        requestor 
     76                        insert tail lay compose/deep [panel 150 data [button 45x15 (form word) [(word) (arg)]]] 
     77                ] 
    7378                insert tail lay [panel 150 white data [text txt font [name: font-fixed]]] 
    7479                lay: ctx-rebgui/layout/only lay 
    7580                face/pane/1/pane: lay 
    7681                face/pane/1/size: lay/size 
    77                 face/resize 
     82                face/action/on-resize face 
    7883                show face 
    7984        ] 
     
    9499                                                        after 2 
    95100                                                        label 20 "Source"       link http://trac.geekisp.com/rebgui/browser/rebgui-widgets.r 
     101                                                        label 20 "Size"         text (reform [sizes/widgets "Kb"]) 
    96102                                                        label 20 "Number"       text (form length? widgets) 
    97                                                         label 20 "Size"         text (reform [to integer! (length? mold/only get ctx-rebgui/widgets) / 1024 "Kb"]) 
    98103                                                ] 
    99104                                                panel 150 white data [ 
     
    111116                                                panel 150 white data [ 
    112117                                                        after 2 
    113                                                         label 20 "Source"       link http://trac.geekisp.com/rebgui/browser/rebgui-functions.r 
     118                                                        label 20 "Source"       link http://trac.geekisp.com/rebgui/browser/rebgui-requestors.r 
     119                                                        label 20 "Size"         text (reform [sizes/requestors "Kb"]) 
    114120                                                        label 20 "Number"       text (form length? requestors) 
    115121                                                ] 
    116122                                                panel 150 white data [ 
    117                                                         text (func-help ctx-rebgui/functions) font [name: font-fixed] 
     123                                                        text (func-help ctx-rebgui/requestors) font [name: font-fixed] 
    118124                                                ] 
    119125                                        ] 
     
    129135                                                        after 2 
    130136                                                        label 20 "Source"       link http://trac.geekisp.com/rebgui/browser/rebgui-functions.r 
     137                                                        label 20 "Size"         text (reform [sizes/functions "Kb"]) 
    131138                                                        label 20 "Number"       text (form length? functions) 
    132139                                                ] 
     
    146153                                                        after 2 
    147154                                                        label 20 "Source"       link http://trac.geekisp.com/rebgui/browser/rebgui-ctx.r 
     155                                                        label 20 "Size"         text (reform [sizes/objects "Kb"]) 
    148156                                                        label 20 "Number"       text (form length? objects) 
    149                                                         label 20 "Size"         text (reform [to integer! (length? mold/only get ctx-rebgui) / 1024 "Kb"]) 
    150157                                                ] 
    151158                                                panel 150 white data [ 
     
    164171                                        label-size 20 
    165172                                        after 2 
    166                                         label "Memory"          text (reform [to integer! system/stats / 1024 "Kb"]) 
    167                                         label "Insert"          text (either ctx-rebgui/edit/insert? ["INS"]["OVR"]) 
    168                                         label "Widgets"         text (form length? widgets) 
    169                                         label "Requestors"      text (form length? requestors) 
    170                                         label "Functions"       text (form length? functions) 
     173                                        label "Memory"  text (reform [to integer! system/stats / 1024 / 1024 "Mb"]) 
     174                                        label "Source"  text (reform [sizes/rebgui "Kb"]) 
     175                                        pie-chart 40x40 data [ 
     176                                                "Widgets"               red             sizes/widgets 
     177                                                "Requestors"    green   sizes/requestors 
     178                                                "Functions"             blue    sizes/functions 
     179                                                "Objects"               yellow  sizes/objects 
     180                                        ] 
     181                                        return 
    171182                                        bar 
    172183                                        reverse 
  • functions/append-widget.r

    r73 r111  
    1 set 'append-widget make function! [ 
     1append-widget: make function! [ 
    22        "Append a custom widget to widgets context." 
    33        spec [block!] "Widget spec" 
  • functions/clear-text.r

    r86 r111  
    1 set 'clear-text make function! [ 
     1clear-text: make function! [ 
    22        "Clear text attribute of a widget or block of widgets." 
    33        face [object! block!] 
  • functions/display.r

    r96 r111  
    1 set 'display make function! [ 
     1display: make function! [ 
    22        "Displays widgets in a centered window with a title." 
    33        title [string!]                                 "Window title" 
  • functions/examine.r

    r76 r111  
    1 set 'examine make function! [ 
     1examine: make function! [ 
    22        "Prints information about widgets and attributes." 
    33        'widget 
  • functions/get-values.r

    r73 r111  
    1 set 'get-values make function! [ 
     1get-values: make function! [ 
    22        "Gets values from input widgets within a display or tab-panel face." 
    33        face [object!] "Display face" 
  • functions/set-color.r

    r73 r111  
    1 set 'set-color make function! [ 
     1set-color: make function! [ 
    22        "Set and show a widget's color attribute." 
    33        face [object!] 
  • functions/set-data.r

    r73 r111  
    1 set 'set-data make function! [ 
     1set-data: make function! [ 
    22        "Set and show a widget's data attribute." 
    33        face [object!] 
  • functions/set-focus.r

    r101 r111  
    1 set 'set-focus make function! [ 
     1set-focus: make function! [ 
    22        "Set and show widget focus." 
    33        face [object!] 
  • functions/set-locale.r

    r82 r111  
    1 set 'set-locale make function! [ 
     1set-locale: make function! [ 
    22        "Dynamically set/change locale." 
    33        language [string! none!] 
  • functions/set-state.r

    r106 r111  
    1 set 'set-state make function! [ 
     1set-state: make function! [ 
    22        "Toggle and show widget state." 
    33        face [object!] 
  • functions/set-text-color.r

    r74 r111  
    1 set 'set-text-color make function! [ 
     1set-text-color: make function! [ 
    22        "Set and show a widget's font color attribute." 
    33        face [object!] 
  • functions/set-text.r

    r87 r111  
    1 set 'set-text make function! [ 
     1set-text: make function! [ 
    22        "Set and show a widget's text attribute." 
    33        face [object!] "Widget" 
  • functions/set-texts.r

    r73 r111  
    1 set 'set-texts make function! [ 
     1set-texts: make function! [ 
    22        "Set and show text attribute of a block of widgets." 
    33        faces [block!] "Widgets" 
  • functions/set-title.r

    r73 r111  
    1 set 'set-title make function! [ 
     1set-title: make function! [ 
    22        "Set and show window title." 
    33        face [object!] "Window dialog face" 
  • functions/set-values.r

    r73 r111  
    1 set 'set-values make function! [ 
     1set-values: make function! [ 
    22        "Puts values into input widgets within a display or tab-panel face." 
    33        face [object!] "Display face" 
  • functions/translate.r

    r73 r111  
    1 set 'translate make function! [ 
     1translate: make function! [ 
    22        "Dynamically translate a string or block of strings." 
    33        text "String (or block of strings) to translate" 
  • rebgui-ctx.r

    r110 r111  
    7474                95      Added on keyword 
    7575                96      Fixed tooltip sizing bug 
     76                111     Added on-resize handler 
    7677        } 
    7778] 
     
    111112ctx-rebgui: make object! [ 
    112113 
    113         build:          110 
     114        build:          111 
    114115        view*:          system/view 
    115116        locale*:        system/locale 
     
    179180                        all [find face/span #W face/size/x: face/size/x + delta/x] 
    180181                        all [find face/span #H face/size/y: face/size/y + delta/y] 
     182                        all [face/old-size <> face/size object? get in face 'action face/action/on-resize face] 
    181183                ] 
    182184                ;       pane could be an iterator function 
     
    193195                        all [find face/span #L face/size/x: size/x - face/offset/x - margin/x] 
    194196                        all [find face/span #V face/size/y: size/y - face/offset/y - margin/y] 
     197                        all [face/old-size <> face/size object? get in face 'action face/action/on-resize face] 
    195198                        if find face/span #O [ 
    196199                                face/offset/x: either any [zero? face/offset/y size/y = (face/offset/y + face/size/y)] [ 
     
    219222        ] 
    220223 
    221         words: [after at bold button-size data do edge effect feel field-size font indent italic label-size margin on on-alt-click on-away on-click on-dbl-click on-edit on-focus on-key on-over on-scroll on-unfocus options pad para rate return reverse space text-color text-size tight tip underline] 
     224        words: [after at bold button-size data do edge effect feel field-size font indent italic label-size margin on on-alt-click on-away on-click on-dbl-click on-edit on-focus on-key on-over on-resize on-scroll on-unfocus options pad para rate return reverse space text-color text-size tight tip underline] 
    222225 
    223226        ; 
     
    297300        #include %rebgui-widgets.r 
    298301        #include %rebgui-layout.r 
     302        #include %rebgui-requestors.r 
    299303        #include %rebgui-functions.r 
    300304 
  • rebgui-functions.r

    r110 r111  
    11REBOL [ 
    2         Title:          "RebGUI requestor functions" 
     2        Title:          "RebGUI functions" 
    33        Owner:          "Ashley G. Trüter" 
    4         Purpose:        "Requestor & Accessor functions (except 'display & 'layout)." 
    5         Acknowledgements: { 
    6                 request-date based on the work of Carl Sassenrath's VID function of the same name 
    7                 request-file based on the work of Carl Sassenrath's VID function of the same name 
    8         } 
     4        Purpose:        "Accessor functions." 
    95        History: { 
    106                25      Removed unfinished bubble-menu code 
     
    4844                106     Added set-state (Kai) 
    4945                107     Updated read-dir and request-dir to use new tree widget 
     46                111     Moved requestors to %rebgui-requestors.r 
    5047        } 
    5148] 
    5249 
    5350functions: make object! [ 
    54  
    55         color-spec: copy [text-size 15 margin 2x2 space 1x1] 
    56  
    57         do make function! [/local bx r g b i] [ 
    58                 bx: 4 + length? locale*/colors 
    59                 r: bx - 1 
    60                 g: bx + 2 
    61                 b: bx + 4 
    62                 i: 1 
    63                 foreach color locale*/colors [ 
    64                         insert tail color-spec compose/deep [ 
    65                                 box 5x5 (color) [face/parent-face/pane/(bx)/action/on-click face] edge [] feel [ 
    66                                         over: make function! [face act pos /local p][ 
    67                                                 all [ 
    68                                                         act 
    69                                                         p: face/parent-face/pane 
    70                                                         p/(bx)/color: face/color 
    71                                                         p/(r)/text: form face/color/1 
    72                                                         p/(g)/text: form face/color/2 
    73                                                         p/(b)/text: form face/color/3 
    74                                                         set-title face/parent-face (uppercase/part form color 1) 
    75                                                 ] 
    76                                         ] 
    77                                 ] 
    78                         ] 
    79                         all [zero? i // 8 insert tail color-spec 'return] 
    80                         i: i + 1 
    81                 ] 
    82                 all ['return <> last color-spec insert tail color-spec 'return] 
    83         ] 
    84  
    85         read-dir: make function! [path /local blk dirs] [ 
    86                 blk: copy [] 
    87                 if dirs: attempt [read path] [ 
    88                         foreach dir remove-each file sort dirs [any [#"/" <> last file #"." = first file]] [ 
    89                                 insert tail blk head remove back tail dir 
    90                                 insert/only tail blk read-dir dirize path/:dir 
    91                                 if empty? last blk [remove back tail blk] 
    92                         ] 
    93                 ] 
    94                 blk 
    95         ] 
    96  
    97         #include %functions/alert.r 
    9851        #include %functions/append-widget.r 
    9952        #include %functions/clear-text.r 
     
    10154        #include %functions/examine.r 
    10255        #include %functions/get-values.r 
    103         #include %functions/question.r 
    104         #include %functions/request-char.r 
    105         #include %functions/request-color.r 
    106         #include %functions/request-date.r 
    107         #include %functions/request-dir.r 
    108         #include %functions/request-file.r 
    109         #include %functions/request-font.r 
    110         #include %functions/request-menu.r 
    111         #include %functions/request-password.r 
    112         #include %functions/request-progress.r 
    113         #include %functions/request-spellcheck.r 
    114         #include %functions/request-ui.r 
    115         #include %functions/request-value.r 
    11656        #include %functions/set-color.r 
    11757        #include %functions/set-data.r 
     
    12464        #include %functions/set-title.r 
    12565        #include %functions/set-values.r 
    126         #include %functions/splash.r 
    12766        #include %functions/translate.r 
    12867] 
     68 
     69foreach word find first functions 'append-widget [ 
     70        set to word! word get in functions word 
     71] 
  • rebgui-layout.r