manpagez: man pages & more
man Diagrams(n)
Home | html | info | man

Diagrams(n)                       Tk Diagrams                      Diagrams(n)





NAME

       Diagrams - User documentation of the Diagrams package


SYNOPSIS

       package require Tcl  8.4

       package require Tk  8.4

       package require Diagrams  0.2

       ::Diagrams::drawin canvas

       ::Diagrams::saveps filename

       ::Diagrams::direction newdir

       ::Diagrams::currentpos pos

       ::Diagrams::getpos anchor obj

       ::Diagrams::position xcoord ycoord

       ::Diagrams::box text width height

       ::Diagrams::plaintext text width height

       ::Diagrams::circle text radius

       ::Diagrams::slanted text width height angle

       ::Diagrams::diamond text width height

       ::Diagrams::drum text width height

       ::Diagrams::arrow text length heads

       ::Diagrams::line args

       ::Diagrams::attach anchor

       ::Diagrams::color name

       ::Diagrams::fillcolor name

       ::Diagrams::textcolor name

       ::Diagrams::usegap use

       ::Diagrams::xgap value

       ::Diagrams::ygap value

       ::Diagrams::textfont name

       ::Diagrams::linewidth pixels

       ::Diagrams::linestyle style

       ::Diagrams::pushstate

       ::Diagrams::popstate

       ::Diagrams::computepos

       ::Diagrams::boxcoords x1 y1 x2 y2

       ::Diagrams::moveobject obj



DESCRIPTION

       The  Diagrams  package  is  meant  to help drawing diagrams, like flow-
       charts. The philosophy is that you should be concentrating on the  con-
       tents  of  the diagram, rather than the exact positioning and sizing of
       all items within it. The Diagrams package uses a few  simple  rules  to
       layout the items:

       o      Each item (or object) in the diagram has a number of "anchors" -
              places where arrows and lines can be connected to.

       o      You can draw an arrow or a line  from  an  object  in  a  preset
              direction

       o      Sizing  and positioning should be done as automatic as possible:
              this is achieved for instance by drawing boxes and circles  with
              text, rather than first drawing a rectangle and then drawing the
              text inside it or vice versa.

       The commands within this package can be split up in several categories.
       Each category is described in a separate section.


GENERAL COMMANDS FOR POSITIONING AND SETUP

       ::Diagrams::drawin canvas
              Set the canvas widget in which to draw

              widget canvas
                     Widget to draw in


       ::Diagrams::saveps filename
              Save the drawing in a PostScript file

              filename string
                     Name of the file to save the drawing in


       ::Diagrams::direction newdir
              Set  the  direction for moving the current position.  The direc-
              tion is one of: north  northeast  east southeast   south  south-
              west  west  northwest N      NE         E    SE         S     SW
              W    NW up     up-right   left down-right down   down-left  left
              up-left centre center     C

              newdir string
                     New direction


       ::Diagrams::currentpos pos
              Set the current position explicitly (argument must be a position
              "object")

              pos list
                     New position (retrieve via getpos for instance)


       ::Diagrams::getpos anchor obj
              Get the position of a particular "anchor"  point  of  an  object
              anchor should be one of the direction strings

              anchor string
                     Name  of  the  anchor  (one  of  the directions - see the
                     direction command

              obj list
                     The object in question


       ::Diagrams::position xcoord ycoord
              Create a position "object"

              xcoord float
                     X-coordinate of the position

              ycoord float
                     Y-coordinate of the position



DRAWING OBJECTS

       ::Diagrams::box text width height
              Draw a box from the current position (width and height are  both
              optional;  if  not  given,  the  text  determines  the width and
              height)

              string text
                     Text to be shown inside the box

              float width
                     Width (if any) of the box in pixels

              float height
                     Height (if any) of the box in pixels


       ::Diagrams::plaintext text width height
              Draw plain text from the current position (width and height  are
              both  optional;  if not given, the text determines the width and
              height)

              string text
                     Text to be shown

              float width
                     Width (if any) of the (invisible) box in which  to  posi-
                     tion the text

              float height
                     Height (if any) of the box


       ::Diagrams::circle text radius
              Draw a circle from the current position (the radius is optional)

              string text
                     Text to be shown inside the circle

              float radius
                     Radius (if any) of the circle in pixels


       ::Diagrams::slanted text width height angle
              Draw a slanted box from the current position (width, height  and
              angle are optional)

              string text
                     Text to be shown inside the box

              float width
                     Width (if any) of the box in pixels

              float height
                     Height (if any) of the box in pixels

              float angle
                     Angle of the slanted box


       ::Diagrams::diamond text width height
              Draw  a  diamond-shaped box from the current position (width and
              height are both optional; if not given, the text determines  the
              width and height)

              string text
                     Text to be shown inside the diamond

              float width
                     Width (if any) of the diamond in pixels

              float height
                     Height (if any) of the diamond in pixels


       ::Diagrams::drum text width height
              Draw  a  drumshaped  item  from  th ecurrent position (width and
              height are both optional; if not given, the text determines  the
              width and height)

              string text
                     Text to be shown inside the drum

              float width
                     Width (if any) of the drum in pixels

              float height
                     Height (if any) of the drum in pixels


       ::Diagrams::arrow text length heads
              Draw  an  arrow from the current position to the next.  The text
              is drawn next to the arrow, the length (in pixels) is  optional.
              If not given the gap parameters are used.

              string text
                     Text to be shown along the arrow

              float length
                     Length of the arrow in pixels

              float heads
                     Which arrow heads to draw (first, last or both - defaults
                     to last)


       ::Diagrams::line args
              Draw a line specified via positions or  via  line  segments  The
              arguments are either position or length-angle pairs

              list args
                     List of positions or of length-angle pairs




ATTRIBUTES

       (Note: attributes are persistent)

       ::Diagrams::attach anchor
              Set the anchor point for attaching arrows to

              string anchor
                     Any one of the valid anchor (e.g. N or North)


       ::Diagrams::color name
              Set the color for the outline of a box etc.

              color name
                     Name of the colour to be used


       ::Diagrams::fillcolor name
              Set the color to fill the objects

              color name
                     Name of the colour to be used


       ::Diagrams::textcolor name
              Set the color to draw the text in

              color name
                     Name of the colour to be used


       ::Diagrams::usegap use
              Turn  the  gap  on  (1) or off (0). Note: usually a small gap is
              used when positioning objects.

              boolean use
                     Use the gap to compute the position of the next object or
                     not


       ::Diagrams::xgap value
              Size of the gap in horizontal direction (in pixels)

              integer value
                     Gap width in pixels


       ::Diagrams::ygap value
              Size of the gap in vertical direction (in pixels)

              integer value
                     Gap height in pixels


       ::Diagrams::textfont name
              Set the name of the font to use

              string name
                     Name of a text font


       ::Diagrams::linewidth pixels
              Set  the  width of the lines (in line objects and arrows and the
              outline of boxes and other objects)

              integer pixels
                     Number of pixels the lines are wide


       ::Diagrams::linestyle style
              Set the style of the lines and arrows  and  of  the  outline  of
              boxes  and other objects. The predefined line styles are: solid,
              dot, dash, dash-dot, dash-dot-dot (these are the distinguishable
              line  styles  on  Windows).  You can also use the style patterns
              from the canvas directly.

              string style
                     Name of a valid line style




COMMANDS FOR IMPLEMENTING NEW OBJECTS

       Note: it is best to study how for instance box objects are  implemented
       first.

       ::Diagrams::pushstate
              Save  the  current  global settings Used when defining an object
              that is composed of other objects

       ::Diagrams::popstate
              Restore the previously saved global settings

       ::Diagrams::computepos
              Compute the current position

       ::Diagrams::boxcoords x1 y1 x2 y2
              Compute the anchor coordinates for a box-like  object  (this  is
              merely  a convenience routine. In general, you will have to com-
              pute the list of coordinates yourself -  see  for  instance  the
              diamond object)

              float x1
                     X coordinate of upper-left corner

              float y1
                     Y coordinate of upper-left corner

              float x2
                     X coordinate of lower-right corner

              float y2
                     Y coordinate of lower-right corner


       ::Diagrams::moveobject obj
              Move  the object to the right position and return the new infor-
              mation

              list obj
                     List of data representing the object




KEYWORDS

       diagrams, drawing



diagrams                              0.2                          Diagrams(n)

Mac OS X 10.6 - Generated Thu Sep 17 20:27:04 CDT 2009
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.