File: w_float_toolbar.srw
Size: 2886
Date: Mon, 07 Apr 2008 21:32:03 +0200
$PBExportHeader$w_float_toolbar.srw
forward
global type w_float_toolbar from w_popup
end type
type uo_title from u_st_gradient within w_float_toolbar
end type
type st_startborder from u_st within w_float_toolbar
end type
end forward

global type w_float_toolbar from w_popup
integer width = 1125
integer height = 244
boolean titlebar = false
boolean controlmenu = false
boolean minbox = false
boolean border = false
string pointer = "Size!"
boolean #autopositionwindow = false
uo_title uo_title
st_startborder st_startborder
end type
global w_float_toolbar w_float_toolbar

type variables
u_dwtoolbar iuo_toolbar
u_dwtoolbar_group iuo_group

Protected:
CONSTANT integer TOOLBAR_INDENT = 40
CONSTANT integer TITLE_HEIGHT = 64
end variables

forward prototypes
public subroutine of_settoolbar (readonly u_dwtoolbar_group auo_group, readonly u_dwtoolbar auo)
public subroutine of_releasetoolbar ()
end prototypes

public subroutine of_settoolbar (readonly u_dwtoolbar_group auo_group, readonly u_dwtoolbar auo);iuo_toolbar = auo
iuo_group = auo_group

iuo_group.SetParent(Handle(iuo_toolbar), Handle(this))
this.Resize(iuo_toolbar.width - (TOOLBAR_INDENT + 28), iuo_toolbar.height + TITLE_HEIGHT)
iuo_toolbar.Move(TOOLBAR_INDENT * -1, TITLE_HEIGHT)
st_startborder.BringTotop = TRUE
end subroutine

public subroutine of_releasetoolbar ();iuo_group.SetParent(Handle(iuo_toolbar), Handle(iuo_group))
iuo_group.of_updatelayout()
end subroutine

on w_float_toolbar.create
int iCurrent
call super::create
this.uo_title=create uo_title
this.st_startborder=create st_startborder
iCurrent=UpperBound(this.Control)
this.Control[iCurrent+1]=this.uo_title
this.Control[iCurrent+2]=this.st_startborder
end on

on w_float_toolbar.destroy
call super::destroy
destroy(this.uo_title)
destroy(this.st_startborder)
end on

event close;call super::close;of_releasetoolbar()
end event

event mousedown;call super::mousedown;CONSTANT uint WM_NCLBUTTONDOWN = 161   // 0x00A1
CONSTANT uint HTCAPTION = 2 

Post( Handle( this ), WM_NCLBUTTONDOWN, HTCAPTION, Long( xpos, ypos ) ) 
end event

event doubleclicked;call super::doubleclicked;CLOSE(this)
end event

type uo_title from u_st_gradient within w_float_toolbar
integer taborder = 20
boolean enabled = false
boolean #dock = true
long #docktype = 5
boolean #showborder = true
boolean #usetheme = true
string #text = "Toolbar"
integer #fontsize = 11
boolean #centervertical = false
boolean #invertgradient = true
end type

on uo_title.destroy
call u_st_gradient::destroy
end on

type st_startborder from u_st within w_float_toolbar
integer x = 658
integer y = 80
integer width = 5
integer height = 132
boolean bringtotop = true
string text = ""
boolean border = true
boolean #usethemebordercolor = true
boolean #dock = true
long #docktype = 2
end type