#!../wafe --f

set pix {
/* XPM */
static char * ghostview_xpm[] = {
"48 48 6 1",
" 	s None	c None	g None		m None",
".	c black		g black		m black",
"X	c #FEFEFEFEEFEF	g #FEFEFEFEEFEF m white",
"o	c white		g white		m white",
"O	c red		g gray60	m black",
"+	c blue		g gray70	m black",
"                                                ",
"                                                ",
"                     .........................  ",
"                     .XXXXXXXXXXXXXXXXXXXXXXX.  ",
"                     .XX..XXX.XXXX.X...XX.XXX.  ",
"                   .........................X.  ",
"                  .......XXXXXXXXXXXXXXXXXXXX.  ",
"                 ..ooooo..X.X........X..XXXXX.  ",
"                ..ooooooo..XXXXXXXXXXXXXXXXXX.  ",
"               ..ooooooooo...X.XX.XXX.......X.  ",
"               ..ooOoooOoo..XXXXXXXXXXXXXXXXX.  ",
"              ..ooOOOoOOOo..XXXXXXXXXXXXXXXXX.  ",
"              ..ooOOOoOOOo..X...XX.X.X..XXXXX.  ",
"              ..oooOoooOoo..XXXXXXXXXXXXXXXXX.  ",
"              .ooooooooooo...XXXXXXXXXXXXXXXX.  ",
"             ..oooooooooooo.....X.XX.XX.X.XXX.  ",
"             ..oooooooooooo..XXXXXXXXXXXXXXXX.  ",
"             ..ooo++ooo++oo.......XXX..X.X.XX.  ",
"            ...ooooo+++oooo..XXXXXXXXXXXXXXXX.  ",
"            ..ooooooooooooo..X...........XXXX.  ",
"            ..ooooooooooooo..XXXXXXXXXXXXXXXX.  ",
"            ..ooooooooooooo..XXXXXXXXXXXXXXXX.  ",
"            ..ooooooooooooo.....XX.XX.X...XXX.  ",
"           ...oooooooooooooo..XXXXXXXXXXXXXXX.  ",
"           ..ooooooooooooooo..XXXXXXXXXXXXXXX.  ",
"           ..ooooooooooooooo..X...X.X.X.X..XX.  ",
"           ..ooooooooooooooo...XXXXXXXXXXXXXX.  ",
"           ..oooooooooooooooo..XXXXXXX.XXXXXX.  ",
"           ..oooooooooooooooo..XXXXXXXXXXXXXX.  ",
"           ..oooooooooooooooo...XX..X.XX.XX.X.  ",
"          ..oooooooooooooooooo..XXXXXXXXXXXXX.  ",
"         ...oooooooooooooooooo...XXXXXXXXXXXX.  ",
"       ....oooo.oooo.oooo.ooooo...XX..XX.XX.X.  ",
"      ...oooooo.oooo.ooooo.ooooo...XXXXXXXXXX.  ",
"     ...ooooooo.oooo.ooooo..ooooo.....XXXXXXX.  ",
"     ...ooooooo.oooo..ooooo..ooooo.......XX.X.  ",
"      ...ooooo.oooooo.oooooo..ooooooo....XXXX.  ",
"       ...ooo..ooooooo.oooooo.ooooooooo...XXX.  ",
"        ....o.oooooooo..oooooo..oooooooo..XXX.  ",
"          ....ooooooooo.ooooooo..ooooooo...XX.  ",
"            ....ooooooo.ooooooooo....oooo..XX.  ",
"             .....ooooo..ooooooooooo..oo...XX.  ",
"                ......oo.oooooooooooo..o..XXX.  ",
"                  ........ooooooooooo.....XXX.  ",
"                    ..................XXXXXXX.  ",
"                     .........................  ",
"                                                ",
"                                                "};
}

set xpmFile unknown1.xpm
set xbmFile xlogo64

sV topLevel allowShellResize true

mergeResources topLevel \
    *Label.background gray \
    *Label.foreground black \
    *Command.background gray \
    *Command.foreground green \
    *Command.resize true \
    *Command.callback {puts stderr "i am %w"} \
    *B.background gray90 \
    *background gray95 \
    *foreground black \
    *b01.bitmap           $pix \
    *b02.bitmap           $xbmFile \
    *b03.bitmap           $xpmFile \
    *B12.backgroundPixmap $xpmFile \
    *B11.backgroundPixmap $xbmFile \
    *B12.backgroundPixmap $xpmFile 

Box B topLevel orientation vertical
set "case(01 immediate pixmap, res)"                      ""
set "case(02 pixmap file, res)"                           ""
set "case(03 bitmap file, res)"                           ""
set "case(04 immediate pixmap)"                           $pix
set "case(05 pixmap file)"                                $xpmFile
set "case(06 bitmap file)"                                $xbmFile
set "case(07 changePixmap, immediate pixmap)"           \\$pix
set "case(08 changePixmap, pixmap file)"                \\$xpmFile
set "case(11 pixmap file, bg)"                          \\$xpmFile
set "case(12 bitmap file, bg)"                            $xbmFile

set delayed ""
foreach i [lsort [array names case]] {
  set res $case($i)
  set c [string range $i 0 1]
  Box B$c B
  Label l$c B$c label $i
  if [string compare "" $res] {
    if [string compare "\\" [string range $res 0 0]] {
      Command b$c B$c bitmap $res
    } else {
      set res [string range $res 1 end]
      Command b$c B$c
      set alignment [getApplicationResource b$c justify String]
      if [string compare "" $alignment] {
	sV b$c justify $alignment
      }
      append delayed "changePixmap b$c bitmap {$res}\n"
    }
  } else {
    # use resources
    Command b$c B$c
  }
}
realize
if [string compare "" $delayed] {
  eval $delayed
} else {
  puts stderr "NOTHING delayed"
}
#changePixmap l2 labelPixmap $pix
