153 lines
5.3 KiB
Plaintext
153 lines
5.3 KiB
Plaintext
Load "guilib.ring"
|
|
|
|
/*
|
|
+--------------------------------------------------------------------------
|
|
+ Program Name : ScreenDrawOnReSize.ring
|
|
+ Date : 2016.06.16
|
|
+ Author : Bert Mariani
|
|
+ Purpose : Re-Draw Chart after ReSize or move
|
|
+--------------------------------------------------------------------------
|
|
*/
|
|
|
|
|
|
###-------------------------------
|
|
### DRAW CHART size 1000 x 1000
|
|
###
|
|
|
|
###------------------------------
|
|
|
|
### Window Size
|
|
WinLeft = 80 ### 80 Window position on screen
|
|
WinTop = 80 ### 80 Window position on screen
|
|
WinWidth = 1000 ### 1000 Window Size - Horizontal-X WinWidth
|
|
WinHeight = 750 ### 750 Window Size - Vertical-Y WinHeight
|
|
WinRight = WinLeft + WinWidth ### 1080
|
|
WinBottom = WinTop + WinHeight ### 830
|
|
|
|
### Label Box Size
|
|
BoxLeft = 40 ### Start corner Label1 Box Start Position inside WIN1
|
|
BoxTop = 40 ### Start corner
|
|
BoxWidth = WinWidth -80 ### End corner Label1 Box Size
|
|
BoxHeight = WinHeight -80 ### End corner
|
|
|
|
###----------------------------
|
|
|
|
|
|
New qapp {
|
|
win1 = new qwidget() {
|
|
|
|
### Position and Size of WINDOW on the Screen
|
|
setwindowtitle("DrawChart using QPainter")
|
|
setgeometry( WinLeft, WinTop, WinWidth, WinHeight)
|
|
|
|
win1{ setwindowtitle("Initial Window Position: " +" L " + WinLeft +" T " + WinTop +" Width" + width() +" Height " + height() ) }
|
|
|
|
### ReSizeEvent ... Call WhereAreWe function
|
|
myfilter = new qallevents(win1)
|
|
myfilter.setResizeEvent("WhereAreWe()")
|
|
installeventfilter(myfilter)
|
|
|
|
### Draw within this BOX
|
|
label1 = new qlabel(win1) {
|
|
setgeometry(BoxLeft, BoxTop, BoxWidth, BoxHeight)
|
|
settext("We are Here")
|
|
}
|
|
|
|
|
|
### Button Position and Size ... Call DRAW function
|
|
new qpushbutton(win1) {
|
|
setgeometry( 30, 30, 80, 20)
|
|
settext("Draw")
|
|
setclickevent("Draw()")
|
|
}
|
|
|
|
###---------------
|
|
|
|
show()
|
|
}
|
|
|
|
exec()
|
|
}
|
|
|
|
|
|
###-----------------
|
|
### FUNCTION Draw
|
|
###-----------------
|
|
|
|
Func WhereAreWe
|
|
Rec = win1.framegeometry()
|
|
|
|
WinWidth = win1.width() ### 1000 Current Values
|
|
WinHeight = win1.height() ### 750
|
|
|
|
WinLeft = Rec.left() +8 ### <<< QT FIX because of Win Title
|
|
WinTop = Rec.top() +30 ### <<< QT FIX because of Win Title
|
|
WinRight = Rec.right()
|
|
WinBottom = Rec.bottom()
|
|
|
|
BoxWidth = WinWidth -80 ### 950
|
|
BoxHeight = WinHeight -80 ### 700
|
|
|
|
win1{ setwindowtitle("Window ReSize: Win " + WinWidth + "x" + WinHeight + " --- Box " + BoxWidth + "x" + BoxHeight +
|
|
" --- LT " + WinLeft + "-" + WinTop + " --- RB " + WinRight + "-" + WinBottom ) }
|
|
|
|
See "We Are Here - setResizeEvent - "
|
|
See " Win " + WinWidth + "x" + WinHeight + " --- Box " + BoxWidth + "x" + BoxHeight
|
|
See " --- LT " + Winleft + "-" + WinTop + " --- RB " + WinRight + "-" + WinBottom +nl
|
|
|
|
win1.setgeometry( WinLeft, WinTop, WinWidth, WinHeight )
|
|
label1.setgeometry( BoxLeft, BoxTop, BoxWidth, BoxHeight )
|
|
|
|
|
|
return
|
|
|
|
Func Draw
|
|
|
|
win1{ setwindowtitle("Draw Position: Win " + WinWidth + "x" + WinHeight + " --- Box " + BoxWidth + "x" + BoxHeight +
|
|
" --- LT " + WinLeft + "-" + WinTop + " --- RB " + WinRight + "-" + WinBottom ) }
|
|
|
|
See "Draw Position: " + WinWidth + "x" + WinHeight + " --- Box " + BoxWidth + "x" + BoxHeight +
|
|
" --- LT " + WinLeft + "-" + WinTop + " --- RB " + WinRight + "-" + WinBottom + nl
|
|
|
|
|
|
# ##-----------------------------
|
|
### PEN Colors
|
|
|
|
p1 = new qpicture()
|
|
|
|
colorBlue = new qcolor() { setrgb(0, 0,255,255) }
|
|
penBlue = new qpen() { setcolor(colorBlue) setwidth(1) }
|
|
|
|
|
|
###-----------------------
|
|
### PAINT the Chart
|
|
|
|
new qpainter() {
|
|
begin(p1)
|
|
setpen(penBlue)
|
|
|
|
###---------------------
|
|
### Draw Line Chart
|
|
|
|
drawline( 1 , 1 , BoxWidth , 1 ) ### WinTop line horizonal
|
|
drawline( 1 , 1 , 1 , BoxHeight ) ### WinLeft Line vetical
|
|
|
|
drawline( 1 , BoxHeight , BoxWidth , BoxHeight ) ### Bottom Line horizontal
|
|
drawline( BoxWidth , 1 , BoxWidth , BoxHeight ) ### WinRight Line vertical
|
|
|
|
drawline( BoxWidth / 2 , 1 , BoxWidth / 2 , BoxHeight ) ### Central vertical
|
|
drawline( 1 , BoxHeight / 2 , BoxWidth , BoxHeight / 2 ) ### Central horizontal
|
|
|
|
|
|
###--------------------------------------------------
|
|
|
|
|
|
endpaint()
|
|
}
|
|
|
|
|
|
label1 { setpicture(p1) show() }
|
|
|
|
return
|
|
###--------------------------------------------
|