mirror of
https://github.com/QB64Official/qb64.git
synced 2024-07-16 21:15:15 +00:00
Reworks dialogs to take up less screen space.
Dialogs that present lists were being sized to take up the whole IDE area. This makes them more content-aware.
This commit is contained in:
parent
9a2922fb67
commit
f140d3e830
|
@ -7552,8 +7552,7 @@ FUNCTION idevariablewatchbox(currentScope$)
|
||||||
l$ = l$ + CHR$(16) + " "
|
l$ = l$ + CHR$(16) + " "
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
text$ = usedVariableList(x).name + CHR$(16) + CHR$(2)
|
text$ = usedVariableList(x).name + CHR$(16) + CHR$(2) + " "
|
||||||
IF usedVariableList(x).used = 0 THEN someUnusedVars = -1: text$ = text$ + "*" ELSE text$ = text$ + " "
|
|
||||||
text$ = text$ + SPACE$(maxVarLen - LEN(usedVariableList(x).name))
|
text$ = text$ + SPACE$(maxVarLen - LEN(usedVariableList(x).name))
|
||||||
text$ = text$ + " " + usedVariableList(x).varType + SPACE$(maxTypeLen - LEN(usedVariableList(x).varType))
|
text$ = text$ + " " + usedVariableList(x).varType + SPACE$(maxTypeLen - LEN(usedVariableList(x).varType))
|
||||||
|
|
||||||
|
@ -7583,19 +7582,22 @@ FUNCTION idevariablewatchbox(currentScope$)
|
||||||
dialogHeight = idewy + idesubwindow - 6
|
dialogHeight = idewy + idesubwindow - 6
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
idepar p, idewx - 8, dialogHeight, "Watch List"
|
dialogWidth = 6 + maxModuleNameLen + maxVarLen + maxTypeLen + 20
|
||||||
|
IF dialogWidth < 60 THEN dialogWidth = 60
|
||||||
|
IF dialogWidth > idewx - 8 THEN dialogWidth = idewx - 8
|
||||||
|
|
||||||
|
idepar p, dialogWidth, dialogHeight, "Watch List"
|
||||||
|
|
||||||
i = i + 1: varListBox = i
|
i = i + 1: varListBox = i
|
||||||
o(varListBox).typ = 2
|
o(varListBox).typ = 2
|
||||||
o(varListBox).y = 2
|
o(varListBox).y = 2
|
||||||
o(varListBox).w = idewx - 12: o(i).h = dialogHeight - 4
|
o(varListBox).w = dialogWidth - 4: o(i).h = dialogHeight - 4
|
||||||
o(varListBox).txt = idenewtxt(l$)
|
o(varListBox).txt = idenewtxt(l$)
|
||||||
o(varListBox).sel = 1
|
o(varListBox).sel = 1
|
||||||
o(varListBox).nam = idenewtxt("Variable List (" + LTRIM$(STR$(totalVisibleVariables)) + ")")
|
o(varListBox).nam = idenewtxt("Variable List (" + LTRIM$(STR$(totalVisibleVariables)) + ")")
|
||||||
|
|
||||||
i = i + 1: buttonSet = i
|
i = i + 1: buttonSet = i
|
||||||
o(buttonSet).typ = 3
|
o(buttonSet).typ = 3
|
||||||
o(i).x = p.x + p.w - 45
|
|
||||||
o(buttonSet).y = dialogHeight
|
o(buttonSet).y = dialogHeight
|
||||||
o(buttonSet).txt = idenewtxt("#Add All" + sep + "#Remove All" + sep + "#Close")
|
o(buttonSet).txt = idenewtxt("#Add All" + sep + "#Remove All" + sep + "#Close")
|
||||||
|
|
||||||
|
@ -7627,10 +7629,6 @@ FUNCTION idevariablewatchbox(currentScope$)
|
||||||
|
|
||||||
'-------- custom display changes --------
|
'-------- custom display changes --------
|
||||||
COLOR 0, 7: _PRINTSTRING (p.x + 2, p.y + 1), "Double-click on a variable to add it to the watch list"
|
COLOR 0, 7: _PRINTSTRING (p.x + 2, p.y + 1), "Double-click on a variable to add it to the watch list"
|
||||||
IF someUnusedVars THEN
|
|
||||||
COLOR 2
|
|
||||||
_PRINTSTRING (p.x + 2, p.y + p.h), "* unused"
|
|
||||||
END IF
|
|
||||||
|
|
||||||
'-------- end of custom display changes --------
|
'-------- end of custom display changes --------
|
||||||
|
|
||||||
|
@ -7757,19 +7755,34 @@ FUNCTION idecallstackbox
|
||||||
|
|
||||||
'-------- init --------
|
'-------- init --------
|
||||||
|
|
||||||
i = 0
|
|
||||||
|
|
||||||
dialogHeight = callStackLength + 4
|
dialogHeight = callStackLength + 4
|
||||||
IF dialogHeight > idewy + idesubwindow - 6 THEN
|
IF dialogHeight > idewy + idesubwindow - 6 THEN
|
||||||
dialogHeight = idewy + idesubwindow - 6
|
dialogHeight = idewy + idesubwindow - 6
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
idepar p, idewx - 8, dialogHeight, "$DEBUG MODE"
|
dialogWidth = 52
|
||||||
|
temp$ = callstacklist$
|
||||||
|
DO
|
||||||
|
i = INSTR(temp$, sep)
|
||||||
|
IF i THEN
|
||||||
|
temp2$ = LEFT$(temp$, i - 1)
|
||||||
|
temp$ = MID$(temp$, i + 1)
|
||||||
|
IF LEN(temp2$) + 6 > dialogWidth THEN dialogWidth = LEN(temp2$) + 6
|
||||||
|
ELSE
|
||||||
|
IF LEN(temp$) + 6 > dialogWidth THEN dialogWidth = LEN(temp$) + 6
|
||||||
|
EXIT DO
|
||||||
|
END IF
|
||||||
|
LOOP
|
||||||
|
|
||||||
|
IF dialogWidth > idewx - 8 THEN dialogWidth = idewx - 8
|
||||||
|
|
||||||
|
idepar p, dialogWidth, dialogHeight, "$DEBUG MODE"
|
||||||
|
|
||||||
|
i = 0
|
||||||
i = i + 1
|
i = i + 1
|
||||||
o(i).typ = 2
|
o(i).typ = 2
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).w = idewx - 12: o(i).h = dialogHeight - 4
|
o(i).w = dialogWidth - 4: o(i).h = dialogHeight - 4
|
||||||
o(i).txt = idenewtxt(callstacklist$)
|
o(i).txt = idenewtxt(callstacklist$)
|
||||||
o(i).sel = callStackLength
|
o(i).sel = callStackLength
|
||||||
o(i).nam = idenewtxt("Call Stack")
|
o(i).nam = idenewtxt("Call Stack")
|
||||||
|
@ -7805,7 +7818,7 @@ FUNCTION idecallstackbox
|
||||||
'-------- end of generic display dialog box & objects --------
|
'-------- end of generic display dialog box & objects --------
|
||||||
|
|
||||||
'-------- custom display changes --------
|
'-------- custom display changes --------
|
||||||
COLOR 0, 7: _PRINTSTRING (p.x + 2, p.y + 1), "These are the most recent sub/function calls in your program:"
|
COLOR 0, 7: _PRINTSTRING (p.x + 2, p.y + 1), "Most recent sub/function calls in your program:"
|
||||||
|
|
||||||
'-------- end of custom display changes --------
|
'-------- end of custom display changes --------
|
||||||
|
|
||||||
|
@ -10720,7 +10733,6 @@ FUNCTION idesubs$
|
||||||
SortedSubsFlag = idesortsubs
|
SortedSubsFlag = idesortsubs
|
||||||
SubClosed = 0
|
SubClosed = 0
|
||||||
|
|
||||||
|
|
||||||
FOR y = 1 TO iden
|
FOR y = 1 TO iden
|
||||||
a$ = idegetline(y)
|
a$ = idegetline(y)
|
||||||
IF SubClosed = 0 THEN ModuleSize = ModuleSize + 1
|
IF SubClosed = 0 THEN ModuleSize = ModuleSize + 1
|
||||||
|
@ -10871,6 +10883,8 @@ FUNCTION idesubs$
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
'build lists
|
'build lists
|
||||||
|
dialogWidth = 50
|
||||||
|
argsLength = 2
|
||||||
FOR x = 1 TO TotalSUBs
|
FOR x = 1 TO TotalSUBs
|
||||||
n$ = SubNames(x)
|
n$ = SubNames(x)
|
||||||
IF LEN(n$) > maxModuleNameLen THEN
|
IF LEN(n$) > maxModuleNameLen THEN
|
||||||
|
@ -10880,6 +10894,7 @@ FUNCTION idesubs$
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
args$ = Args(x)
|
args$ = Args(x)
|
||||||
|
IF LEN(args$) > argsLength THEN argsLength = LEN(args$)
|
||||||
IF LEN(args$) <= (idewx - 41) THEN
|
IF LEN(args$) <= (idewx - 41) THEN
|
||||||
args$ = args$ + SPACE$((idewx - 41) - LEN(args$))
|
args$ = args$ + SPACE$((idewx - 41) - LEN(args$))
|
||||||
ELSE
|
ELSE
|
||||||
|
@ -10944,13 +10959,17 @@ FUNCTION idesubs$
|
||||||
IF dialogHeight > idewy + idesubwindow - 6 THEN
|
IF dialogHeight > idewy + idesubwindow - 6 THEN
|
||||||
dialogHeight = idewy + idesubwindow - 6
|
dialogHeight = idewy + idesubwindow - 6
|
||||||
END IF
|
END IF
|
||||||
idepar p, idewx - 8, dialogHeight, "SUBs"
|
|
||||||
|
IF argsLength + maxModuleNameLen + maxLineCountSpace + 20 > dialogWidth THEN dialogWidth = argsLength + maxModuleNameLen + maxLineCountSpace + 20
|
||||||
|
IF dialogWidth > idewx - 8 THEN dialogWidth = idewx - 8
|
||||||
|
|
||||||
|
idepar p, dialogWidth, dialogHeight, "SUBs"
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
o(i).typ = 2
|
o(i).typ = 2
|
||||||
o(i).y = 1
|
o(i).y = 1
|
||||||
'68
|
'68
|
||||||
o(i).w = idewx - 12: o(i).h = dialogHeight - 3
|
o(i).w = dialogWidth - 4: o(i).h = dialogHeight - 3
|
||||||
IF SortedSubsFlag = 0 THEN
|
IF SortedSubsFlag = 0 THEN
|
||||||
IF IDESubsLength THEN
|
IF IDESubsLength THEN
|
||||||
o(i).txt = idenewtxt(lSized$)
|
o(i).txt = idenewtxt(lSized$)
|
||||||
|
@ -11004,8 +11023,8 @@ FUNCTION idesubs$
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
o(i).typ = 3
|
o(i).typ = 3
|
||||||
o(i).x = p.x + p.w - 26
|
|
||||||
o(i).w = 26
|
o(i).w = 26
|
||||||
|
o(i).x = dialogWidth - (o(i).w + 2)
|
||||||
o(i).y = dialogHeight
|
o(i).y = dialogHeight
|
||||||
IF IdeDebugMode = 0 THEN
|
IF IdeDebugMode = 0 THEN
|
||||||
o(i).txt = idenewtxt("#Edit" + sep + "#Cancel")
|
o(i).txt = idenewtxt("#Edit" + sep + "#Cancel")
|
||||||
|
@ -11226,8 +11245,10 @@ FUNCTION idelanguagebox
|
||||||
|
|
||||||
'generate list of available code pages
|
'generate list of available code pages
|
||||||
l$ = idecpname(1)
|
l$ = idecpname(1)
|
||||||
|
dialogWidth = LEN(l$)
|
||||||
FOR x = 2 TO idecpnum
|
FOR x = 2 TO idecpnum
|
||||||
l$ = l$ + sep + idecpname(x)
|
l$ = l$ + sep + idecpname(x)
|
||||||
|
IF LEN(idecpname(x)) > dialogWidth THEN dialogWidth = LEN(idecpname(x))
|
||||||
NEXT
|
NEXT
|
||||||
l$ = UCASE$(l$)
|
l$ = UCASE$(l$)
|
||||||
|
|
||||||
|
@ -11236,12 +11257,15 @@ FUNCTION idelanguagebox
|
||||||
IF dialogHeight > idewy + idesubwindow - 6 THEN
|
IF dialogHeight > idewy + idesubwindow - 6 THEN
|
||||||
dialogHeight = idewy + idesubwindow - 6
|
dialogHeight = idewy + idesubwindow - 6
|
||||||
END IF
|
END IF
|
||||||
idepar p, idewx - 8, dialogHeight, "Language"
|
IF dialogWidth < 60 THEN dialogWidth = 60
|
||||||
|
IF dialogWidth > idewx - 8 THEN dialogWidth = idewx - 8
|
||||||
|
|
||||||
|
idepar p, dialogWidth, dialogHeight, "Language"
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
o(i).typ = 2
|
o(i).typ = 2
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).w = idewx - 12: o(i).h = dialogheight - 4
|
o(i).w = dialogWidth - 4: o(i).h = dialogheight - 4
|
||||||
o(i).txt = idenewtxt(l$)
|
o(i).txt = idenewtxt(l$)
|
||||||
o(i).sel = 1: IF idecpindex THEN o(i).sel = idecpindex
|
o(i).sel = 1: IF idecpindex THEN o(i).sel = idecpindex
|
||||||
o(i).nam = idenewtxt("Code Pages")
|
o(i).nam = idenewtxt("Code Pages")
|
||||||
|
@ -11391,6 +11415,7 @@ FUNCTION idewarningbox
|
||||||
NEXT
|
NEXT
|
||||||
|
|
||||||
'build list
|
'build list
|
||||||
|
dialogWidth = 60
|
||||||
FOR x = 1 TO warningListItems
|
FOR x = 1 TO warningListItems
|
||||||
IF warningLines(x) = 0 THEN
|
IF warningLines(x) = 0 THEN
|
||||||
l$ = l$ + warning$(x)
|
l$ = l$ + warning$(x)
|
||||||
|
@ -11408,6 +11433,7 @@ FUNCTION idewarningbox
|
||||||
END IF
|
END IF
|
||||||
treeConnection = LEN(l$) + 1
|
treeConnection = LEN(l$) + 1
|
||||||
text$ = warning$(x)
|
text$ = warning$(x)
|
||||||
|
IF LEN(text$) + 10 > dialogWidth THEN dialogWidth = LEN(text$) + 10
|
||||||
IF LEN(text$) THEN
|
IF LEN(text$) THEN
|
||||||
l$ = l$ + CHR$(195) + CHR$(196) + l3$ + ": " + text$
|
l$ = l$ + CHR$(195) + CHR$(196) + l3$ + ": " + text$
|
||||||
ELSE
|
ELSE
|
||||||
|
@ -11427,12 +11453,14 @@ FUNCTION idewarningbox
|
||||||
dialogHeight = idewy + idesubwindow - 6
|
dialogHeight = idewy + idesubwindow - 6
|
||||||
END IF
|
END IF
|
||||||
|
|
||||||
idepar p, idewx - 8, dialogHeight, "Compilation status"
|
IF dialogWidth > idewx - 8 THEN dialogWidth = idewx - 8
|
||||||
|
|
||||||
|
idepar p, dialogWidth, dialogHeight, "Compilation status"
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
o(i).typ = 2
|
o(i).typ = 2
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).w = idewx - 12: o(i).h = dialogHeight - 4
|
o(i).w = dialogWidth - 4: o(i).h = dialogHeight - 4
|
||||||
o(i).txt = idenewtxt(l$)
|
o(i).txt = idenewtxt(l$)
|
||||||
o(i).sel = 1
|
o(i).sel = 1
|
||||||
o(i).nam = idenewtxt("Warnings (" + LTRIM$(STR$(totalWarnings)) + ")")
|
o(i).nam = idenewtxt("Warnings (" + LTRIM$(STR$(totalWarnings)) + ")")
|
||||||
|
@ -15362,6 +15390,8 @@ SUB IdeMakeContextualMenu
|
||||||
menu$(m, i) = "-": i = i + 1
|
menu$(m, i) = "-": i = i + 1
|
||||||
menu$(m, i) = "SUBs... F2": i = i + 1
|
menu$(m, i) = "SUBs... F2": i = i + 1
|
||||||
menuDesc$(m, i - 1) = "Displays a list of SUB/FUNCTION procedures"
|
menuDesc$(m, i - 1) = "Displays a list of SUB/FUNCTION procedures"
|
||||||
|
menu$(m, i) = "#Watch List... F4": i = i + 1
|
||||||
|
menuDesc$(m, i - 1) = "Adds variables to watch list"
|
||||||
menu$(m, i) = "Call Stack... F12": i = i + 1
|
menu$(m, i) = "Call Stack... F12": i = i + 1
|
||||||
menuDesc$(m, i - 1) = "Displays the call stack of the current program's execution"
|
menuDesc$(m, i - 1) = "Displays the call stack of the current program's execution"
|
||||||
menu$(m, i) = "-": i = i + 1
|
menu$(m, i) = "-": i = i + 1
|
||||||
|
|
Loading…
Reference in a new issue