! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: arrays kernel locals math math.functions math.order math.vectors
-sequences ui.gadgets accessors combinators ;
+USING: accessors combinators kernel locals math math.functions
+math.order sequences ui.gadgets ;
IN: ui.baseline-alignment
SYMBOL: +baseline+
-
TUPLE: aligned-gadget < gadget baseline cap-height ;
GENERIC: baseline* ( gadget -- y )
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays ui.gadgets ui.baseline-alignment kernel math fry
-namespaces vectors sequences math.vectors math.rectangles ;
+USING: accessors fry kernel math math.rectangles math.vectors
+sequences ui.baseline-alignment ui.gadgets ;
IN: ui.gadgets.borders
TUPLE: border < aligned-gadget
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs classes classes.tuple colors
-colors.constants combinators combinators.short-circuit
-combinators.smart fry kernel locals math math.rectangles
-math.vectors models namespaces opengl opengl.gl quotations
-sequences strings ui.commands ui.gadgets ui.gadgets.borders
-ui.gadgets.labels ui.gadgets.packs ui.gadgets.theme
-ui.gadgets.tracks ui.gadgets.worlds ui.gestures ui.pens
-ui.pens.image ui.pens.solid ui.pens.tile ;
+USING: accessors assocs classes colors.constants combinators
+combinators.short-circuit combinators.smart fry kernel locals
+math.vectors models namespaces sequences ui.commands ui.gadgets
+ui.gadgets.borders ui.gadgets.labels ui.gadgets.packs
+ui.gadgets.theme ui.gadgets.tracks ui.gadgets.worlds ui.gestures
+ui.pens ui.pens.image ui.pens.solid ui.pens.tile ;
FROM: models => change-model ;
IN: ui.gadgets.buttons
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel sequences namespaces ui.gadgets.frames
-ui.pens.image ui.gadgets.icons ui.gadgets.grids ui.gadgets.theme ;
+USING: accessors kernel namespaces sequences ui.gadgets.frames
+ui.gadgets.grids ui.gadgets.icons ui.gadgets.theme ;
IN: ui.gadgets.corners
CONSTANT: @center { 1 1 }
! Copyright (C) 2008, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays colors.constants combinators kernel
-opengl sequences ui ui.baseline-alignment ui.gadgets
-ui.gadgets.buttons ui.gadgets.labels ui.pens ui.render ui.text
-ui.gadgets.private dlists namespaces io.streams.string io ;
+USING: accessors arrays colors.constants dlists io
+io.streams.string kernel namespaces opengl sequences ui
+ui.baseline-alignment ui.gadgets ui.gadgets.buttons
+ui.gadgets.labels ui.gadgets.private ui.pens ui.render ui.text ;
IN: ui.gadgets.debug
! We can't print to output-stream here because that might be a pane
2bi ;
: <metrics-gadget> ( text font -- gadget )
- [ <label> ] dip >>font metrics-paint >>boundary ;
\ No newline at end of file
+ [ <label> ] dip >>font metrics-paint >>boundary ;
! Copyright (C) 2006, 2011 Slava Pestov
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors timers arrays assocs calendar colors.constants
+USING: accessors arrays assocs calendar colors.constants
combinators combinators.short-circuit documents
documents.elements fry grouping kernel locals make math
math.functions math.order math.ranges math.rectangles
math.vectors models models.arrow namespaces opengl sequences
-sorting splitting ui.baseline-alignment ui.clipboards
+sorting splitting timers ui.baseline-alignment ui.clipboards
ui.commands ui.gadgets ui.gadgets.borders
ui.gadgets.line-support ui.gadgets.menus ui.gadgets.scrollers
ui.gestures ui.pens.solid ui.render ui.text unicode.categories ;
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays generic kernel math namespaces sequences
-words splitting grouping math.vectors ui.gadgets.grids
-ui.gadgets.grids.private ui.gadgets math.order math.rectangles
-fry ;
+USING: accessors fry kernel math math.order sequences ui.gadgets
+ui.gadgets.grids ui.gadgets.grids.private ;
IN: ui.gadgets.frames
TUPLE: frame < grid filled-cell ;
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel namespaces ui.gadgets ui.gadgets.worlds
-ui.gadgets.wrappers ui.gestures math.rectangles
-math.rectangles.positioning combinators vectors ;
+USING: accessors kernel math.rectangles
+math.rectangles.positioning namespaces ui.gadgets
+ui.gadgets.worlds ui.gadgets.wrappers ui.gestures vectors ;
FROM: ui.gadgets.wrappers => wrapper ;
IN: ui.gadgets.glass
swap >>visible-rect
swap add-gadget
swap >>owner ;
-
+
: visible-rect ( glass -- rect )
[ visible-rect>> ] [ owner>> ] bi screen-loc offset-rect ;
: show-popup ( owner popup visible-rect -- )
[ [ dup dup popup>> [ hide-glass ] when* ] dip <popup> ] dip
- [ drop >>popup drop ] [ show-glass ] 3bi ;
\ No newline at end of file
+ [ drop >>popup drop ] [ show-glass ] 3bi ;
! Copyright (C) 2006, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors math namespaces opengl opengl.gl
-sequences math.vectors ui.pens ui.gadgets ui.gadgets.grids
-ui.gadgets.grids.private ui.render math.rectangles
-fry locals arrays assocs ;
+USING: accessors assocs fry kernel locals math math.vectors
+opengl sequences ui.gadgets ui.gadgets.grids.private ui.pens ;
IN: ui.gadgets.grid-lines
TUPLE: grid-lines color ;
! Copyright (C) 2006, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: arrays kernel math math.order namespaces make sequences
-words io math.vectors ui.gadgets ui.baseline-alignment columns
-accessors strings.tables math.rectangles fry ;
+USING: accessors arrays fry kernel make math math.order
+math.rectangles math.vectors sequences strings.tables
+ui.baseline-alignment ui.gadgets ;
IN: ui.gadgets.grids
TUPLE: grid < gadget
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: kernel accessors ui.images ui.pens
-ui.pens.image ui.gadgets ui.gadgets.labels ;
+USING: accessors kernel ui.gadgets ui.gadgets.labels ui.images
+ui.pens ui.pens.image ;
IN: ui.gadgets.icons
TUPLE: icon < gadget ;
M: icon pref-dim* dup interior>> pen-pref-dim ;
-M: image-name >label <icon> ;
\ No newline at end of file
+M: image-name >label <icon> ;
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: io kernel math namespaces math.vectors ui.gadgets
-ui.gadgets.private ui.gadgets.packs accessors
-math.rectangles combinators ;
+USING: accessors combinators kernel math.vectors namespaces
+ui.gadgets ui.gadgets.packs ui.gadgets.private ;
IN: ui.gadgets.incremental
TUPLE: incremental < pack cursor ;
! Copyright (C) 2006, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel sequences colors fonts ui.gadgets
-ui.gadgets.frames ui.gadgets.grids ui.gadgets.icons ui.gadgets.labels
-ui.gadgets.borders ui.pens.image ui.gadgets.corners ui.render ;
+USING: accessors fonts kernel ui.gadgets ui.gadgets.borders
+ui.gadgets.corners ui.gadgets.frames ui.gadgets.grids
+ui.gadgets.labels ui.pens.image ui.render ;
IN: ui.gadgets.labeled
TUPLE: labeled-gadget < frame content ;
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays hashtables io kernel math math.functions
-namespaces make opengl sequences strings splitting ui.gadgets
-ui.gadgets.tracks ui.gadgets.packs fonts ui.render ui.pens.solid
-ui.baseline-alignment ui.text colors colors.constants models
-combinators opengl.gl ;
+USING: accessors arrays colors.constants combinators fonts
+kernel make math.functions models namespaces sequences splitting
+strings ui.baseline-alignment ui.gadgets ui.gadgets.tracks
+ui.pens.solid ui.render ui.text ;
IN: ui.gadgets.labels
! A label gadget draws a string.
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays combinators fry kernel math math.functions math.order
-math.ranges math.vectors namespaces opengl sequences ui.gadgets
-ui.render ui.text ui.gadgets.scrollers ui.gadgets.viewports ;
+USING: accessors arrays combinators fry kernel math
+math.functions math.order math.ranges math.vectors namespaces
+opengl sequences ui.gadgets ui.gadgets.scrollers
+ui.gadgets.viewports ui.render ui.text ;
IN: ui.gadgets.line-support
! Some code shared by table and editor gadgets
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: colors.constants kernel locals math.rectangles namespaces
-sequences ui.commands ui.gadgets ui.gadgets.borders ui.gadgets.buttons
-ui.gadgets.glass ui.gadgets.packs ui.gadgets.frames ui.gadgets.worlds
-ui.gadgets.corners ui.gestures ui.operations
-ui.render ui.pens ui.pens.solid opengl math.vectors words accessors
-math math.order sorting ;
+USING: accessors colors.constants kernel locals math.rectangles
+math.vectors namespaces opengl sequences sorting ui.commands
+ui.gadgets ui.gadgets.buttons ui.gadgets.corners
+ui.gadgets.frames ui.gadgets.glass ui.gadgets.packs
+ui.gadgets.worlds ui.gestures ui.operations ui.pens
+ui.pens.solid ui.render ;
IN: ui.gadgets.menus
: show-menu ( owner menu -- )
! Copyright (C) 2005, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: sequences ui.gadgets ui.baseline-alignment
-ui.baseline-alignment.private kernel math math.functions math.vectors
-math.order math.rectangles namespaces accessors fry combinators arrays ;
+USING: accessors arrays combinators fry kernel math math.order
+math.vectors sequences ui.baseline-alignment
+ui.baseline-alignment.private ui.gadgets ;
IN: ui.gadgets.packs
TUPLE: pack < aligned-gadget
! Copyright (C) 2005, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: arrays hashtables io kernel namespaces sequences
-strings quotations math opengl combinators memoize math.vectors
-sorting splitting assocs classes.tuple models continuations
-destructors accessors math.rectangles fry fonts ui.pens.solid
-ui.images ui.gadgets ui.gadgets.private ui.gadgets.borders
-ui.gadgets.buttons ui.gadgets.labels ui.gadgets.scrollers
-ui.gadgets.paragraphs ui.gadgets.incremental ui.gadgets.packs
-ui.gadgets.menus ui.clipboards ui.gestures ui.traverse ui.render
-ui.text ui.gadgets.presentations ui.gadgets.grids ui.gadgets.tracks
-ui.gadgets.icons ui.gadgets.grid-lines ui.baseline-alignment
-colors io.styles classes ;
+USING: accessors assocs classes combinators destructors fonts
+fry io io.styles kernel math.rectangles math.vectors memoize
+models namespaces sequences sorting splitting strings
+ui.baseline-alignment ui.clipboards ui.gadgets
+ui.gadgets.borders ui.gadgets.grid-lines ui.gadgets.grids
+ui.gadgets.icons ui.gadgets.incremental ui.gadgets.labels
+ui.gadgets.menus ui.gadgets.packs ui.gadgets.paragraphs
+ui.gadgets.presentations ui.gadgets.private ui.gadgets.scrollers
+ui.gadgets.tracks ui.gestures ui.images ui.pens.solid ui.render
+ui.traverse ;
FROM: io.styles => foreground background ;
FROM: ui.gadgets.wrappers => <wrapper> ;
IN: ui.gadgets.panes
! Copyright (C) 2005, 2009 Slava Pestov
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel math math.order sequences wrap wrap.words
-arrays fry ui.gadgets ui.gadgets.labels ui.gadgets.packs.private
-ui.render ui.baseline-alignment ;
+USING: accessors arrays fry kernel math math.order sequences
+ui.baseline-alignment ui.gadgets ui.gadgets.labels
+ui.gadgets.packs.private ui.render wrap.words ;
IN: ui.gadgets.paragraphs
MIXIN: word-break
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: arrays accessors definitions hashtables io kernel sequences
-strings words math models namespaces quotations ui.gadgets
-ui.gadgets.borders ui.gadgets.buttons ui.gadgets.buttons.private
-ui.gadgets.labels ui.gadgets.menus ui.gadgets.worlds
-ui.gadgets.status-bar ui.commands ui.operations ui.gestures ;
+USING: accessors kernel namespaces ui.commands ui.gadgets
+ui.gadgets.buttons ui.gadgets.buttons.private ui.gadgets.menus
+ui.gadgets.status-bar ui.gadgets.worlds ui.gestures
+ui.operations ;
IN: ui.gadgets.presentations
TUPLE: presentation < button object hook ;
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays ui.gadgets ui.gadgets.viewports
-ui.gadgets.frames ui.gadgets.grids ui.gadgets.sliders
-ui.gestures kernel math namespaces sequences models models.range
-models.product combinators math.vectors classes.tuple
-math.rectangles combinators.short-circuit ;
+USING: accessors arrays combinators combinators.short-circuit
+kernel math.rectangles math.vectors models models.product
+models.range namespaces sequences ui.gadgets ui.gadgets.frames
+ui.gadgets.grids ui.gadgets.sliders ui.gadgets.viewports
+ui.gestures ;
IN: ui.gadgets.scrollers
TUPLE: scroller < frame column-header viewport x y follows ;
! Copyright (C) 2008, 2009 Slava Pestov
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel delegate fry sequences models
-combinators.short-circuit models.search models.delay calendar locals
-ui.gestures ui.pens ui.pens.image ui.gadgets.editors ui.gadgets.labels
-ui.gadgets.scrollers ui.gadgets.tables ui.gadgets.theme ui.gadgets.tracks
-ui.gadgets.borders ui.gadgets.buttons ui.baseline-alignment ui.gadgets ;
+USING: accessors calendar combinators.short-circuit delegate fry
+kernel locals models models.delay models.search
+ui.baseline-alignment ui.gadgets ui.gadgets.borders
+ui.gadgets.buttons ui.gadgets.editors ui.gadgets.labels
+ui.gadgets.scrollers ui.gadgets.tables ui.gadgets.theme
+ui.gadgets.tracks ui.gestures ui.pens ui.pens.image ;
IN: ui.gadgets.search-tables
TUPLE: search-table < track table field ;
! Copyright (C) 2005, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs kernel math namespaces sequences
-vectors models models.range math.vectors math.functions quotations
-colors colors.constants math.rectangles fry combinators ui.gestures
-ui.pens ui.gadgets ui.gadgets.buttons ui.gadgets.tracks math.order
-ui.gadgets.icons ui.gadgets.theme ui.pens.tile ui.pens.image ;
+USING: accessors assocs combinators fry kernel math math.order
+math.vectors models models.range ui.gadgets ui.gadgets.buttons
+ui.gadgets.icons ui.gadgets.theme ui.gadgets.tracks ui.gestures
+ui.pens ui.pens.image ui.pens.tile ;
IN: ui.gadgets.sliders
TUPLE: slider < track elevator thumb saved line ;
! Copyright (C) 2007, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors namespaces kernel parser prettyprint
-sequences arrays io math definitions math.vectors assocs refs
-ui.gadgets ui.gestures ui.commands ui.gadgets.scrollers
-ui.gadgets.buttons ui.gadgets.borders ui.gadgets.tracks
-ui.gadgets.editors eval continuations ;
+USING: accessors eval kernel math.vectors parser prettyprint
+refs sequences ui.commands ui.gadgets ui.gadgets.buttons
+ui.gadgets.editors ui.gadgets.scrollers ui.gadgets.tracks
+ui.gestures ;
IN: ui.gadgets.slots
TUPLE: update-object ;
! Copyright (C) 2007, 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors calendar colors colors.constants fonts kernel
-models models.arrow models.delay sequences summary ui
-ui.gadgets ui.gadgets.labels ui.gadgets.tracks
-ui.gadgets.worlds ui.pens.solid ui.private ;
+USING: accessors calendar colors.constants fonts kernel models
+models.arrow models.delay sequences summary ui ui.gadgets.labels
+ui.gadgets.tracks ui.gadgets.worlds ui.pens.solid ui.private ;
IN: ui.gadgets.status-bar
: status-bar-font ( -- font )
! Copyright (C) 2008, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: ui.pens ui.gadgets.tracks ui.gadgets.buttons
-ui.gadgets.buttons.private ui.gadgets.books ui.gadgets.packs
-ui.gadgets.borders ui.gadgets.icons ui.gadgets ui.gadgets.theme
-ui.pens.image sequences models accessors kernel colors
-colors.constants ;
+USING: accessors colors kernel models sequences ui.gadgets
+ui.gadgets.books ui.gadgets.borders ui.gadgets.buttons
+ui.gadgets.buttons.private ui.gadgets.icons ui.gadgets.packs
+ui.gadgets.theme ui.gadgets.tracks ui.pens ;
IN: ui.gadgets.tabbed
TUPLE: tabbed-gadget < track tabs book ;
! Copyright (C) 2008, 2011 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors assocs hashtables arrays colors colors.constants fry
-kernel math math.functions math.ranges math.rectangles math.order
-math.vectors namespaces opengl sequences ui.gadgets
+USING: accessors arrays colors colors.constants combinators
+combinators.short-circuit fonts fry kernel locals math
+math.functions math.order math.rectangles math.vectors models
+namespaces opengl sequences splitting strings ui.commands
+ui.gadgets ui.gadgets.line-support ui.gadgets.menus
ui.gadgets.scrollers ui.gadgets.status-bar ui.gadgets.worlds
-ui.gestures ui.render ui.pens.solid ui.text ui.commands ui.images
-ui.gadgets.menus ui.gadgets.line-support models combinators
-combinators.short-circuit fonts locals splitting strings sets
-sorting ;
+ui.gestures ui.images ui.pens.solid ui.render ui.text ;
FROM: sequences => change-nth ;
IN: ui.gadgets.tables
! Copyright (C) 2006, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors io kernel namespaces fry math math.vectors
-math.rectangles math.order sequences words ui.gadgets ui.gadgets.packs
-ui.gadgets.packs.private combinators ;
+USING: accessors combinators fry kernel math math.vectors
+sequences ui.gadgets ui.gadgets.packs ui.gadgets.packs.private ;
IN: ui.gadgets.tracks
TUPLE: track < pack sizes ;
! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays ui.gadgets ui.gadgets.borders
-kernel math namespaces sequences models math.vectors
-math.rectangles ;
+USING: accessors kernel math.vectors models ui.gadgets ;
IN: ui.gadgets.viewports
TUPLE: viewport < gadget { constraint initial: { 1 1 } } ;