Put wrappers around the functions to show and hide the edit control
in the text window. This means that I can move the conversion from half-row and column to (x, y) into the platform-independent code, and that I'll be ready to add my color picker. [git-p4: depot-paths = "//depot/solvespace/": change = 2171]
This commit is contained in:
parent
319ba16541
commit
824cc00915
@ -270,19 +270,19 @@ void TextWindow::ScreenChangePasteTransformed(int link, DWORD v) {
|
|||||||
switch(link) {
|
switch(link) {
|
||||||
case 't':
|
case 't':
|
||||||
sprintf(str, "%d", SS.TW.shown.paste.times);
|
sprintf(str, "%d", SS.TW.shown.paste.times);
|
||||||
ShowTextEditControl(10, 13, str);
|
SS.TW.ShowEditControl(10, 13, str);
|
||||||
SS.TW.edit.meaning = EDIT_PASTE_TIMES_REPEATED;
|
SS.TW.edit.meaning = EDIT_PASTE_TIMES_REPEATED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'r':
|
case 'r':
|
||||||
sprintf(str, "%.3f", SS.TW.shown.paste.theta*180/PI);
|
sprintf(str, "%.3f", SS.TW.shown.paste.theta*180/PI);
|
||||||
ShowTextEditControl(12, 13, str);
|
SS.TW.ShowEditControl(12, 13, str);
|
||||||
SS.TW.edit.meaning = EDIT_PASTE_ANGLE;
|
SS.TW.edit.meaning = EDIT_PASTE_ANGLE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 's':
|
case 's':
|
||||||
sprintf(str, "%.3f", SS.TW.shown.paste.scale);
|
sprintf(str, "%.3f", SS.TW.shown.paste.scale);
|
||||||
ShowTextEditControl(18, 13, str);
|
SS.TW.ShowEditControl(18, 13, str);
|
||||||
SS.TW.edit.meaning = EDIT_PASTE_SCALE;
|
SS.TW.edit.meaning = EDIT_PASTE_SCALE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
void TextWindow::ScreenChangeLightDirection(int link, DWORD v) {
|
void TextWindow::ScreenChangeLightDirection(int link, DWORD v) {
|
||||||
char str[1024];
|
char str[1024];
|
||||||
sprintf(str, "%.2f, %.2f, %.2f", CO(SS.lightDir[v]));
|
sprintf(str, "%.2f, %.2f, %.2f", CO(SS.lightDir[v]));
|
||||||
ShowTextEditControl(29+2*v, 8, str);
|
SS.TW.ShowEditControl(29+2*v, 8, str);
|
||||||
SS.TW.edit.meaning = EDIT_LIGHT_DIRECTION;
|
SS.TW.edit.meaning = EDIT_LIGHT_DIRECTION;
|
||||||
SS.TW.edit.i = v;
|
SS.TW.edit.i = v;
|
||||||
}
|
}
|
||||||
@ -15,7 +15,7 @@ void TextWindow::ScreenChangeLightDirection(int link, DWORD v) {
|
|||||||
void TextWindow::ScreenChangeLightIntensity(int link, DWORD v) {
|
void TextWindow::ScreenChangeLightIntensity(int link, DWORD v) {
|
||||||
char str[1024];
|
char str[1024];
|
||||||
sprintf(str, "%.2f", SS.lightIntensity[v]);
|
sprintf(str, "%.2f", SS.lightIntensity[v]);
|
||||||
ShowTextEditControl(29+2*v, 31, str);
|
SS.TW.ShowEditControl(29+2*v, 31, str);
|
||||||
SS.TW.edit.meaning = EDIT_LIGHT_INTENSITY;
|
SS.TW.edit.meaning = EDIT_LIGHT_INTENSITY;
|
||||||
SS.TW.edit.i = v;
|
SS.TW.edit.i = v;
|
||||||
}
|
}
|
||||||
@ -26,7 +26,7 @@ void TextWindow::ScreenChangeColor(int link, DWORD v) {
|
|||||||
REDf(SS.modelColor[v]),
|
REDf(SS.modelColor[v]),
|
||||||
GREENf(SS.modelColor[v]),
|
GREENf(SS.modelColor[v]),
|
||||||
BLUEf(SS.modelColor[v]));
|
BLUEf(SS.modelColor[v]));
|
||||||
ShowTextEditControl(9+2*v, 13, str);
|
SS.TW.ShowEditControl(9+2*v, 13, str);
|
||||||
SS.TW.edit.meaning = EDIT_COLOR;
|
SS.TW.edit.meaning = EDIT_COLOR;
|
||||||
SS.TW.edit.i = v;
|
SS.TW.edit.i = v;
|
||||||
}
|
}
|
||||||
@ -34,26 +34,26 @@ void TextWindow::ScreenChangeColor(int link, DWORD v) {
|
|||||||
void TextWindow::ScreenChangeChordTolerance(int link, DWORD v) {
|
void TextWindow::ScreenChangeChordTolerance(int link, DWORD v) {
|
||||||
char str[1024];
|
char str[1024];
|
||||||
sprintf(str, "%.2f", SS.chordTol);
|
sprintf(str, "%.2f", SS.chordTol);
|
||||||
ShowTextEditControl(37, 3, str);
|
SS.TW.ShowEditControl(37, 3, str);
|
||||||
SS.TW.edit.meaning = EDIT_CHORD_TOLERANCE;
|
SS.TW.edit.meaning = EDIT_CHORD_TOLERANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextWindow::ScreenChangeMaxSegments(int link, DWORD v) {
|
void TextWindow::ScreenChangeMaxSegments(int link, DWORD v) {
|
||||||
char str[1024];
|
char str[1024];
|
||||||
sprintf(str, "%d", SS.maxSegments);
|
sprintf(str, "%d", SS.maxSegments);
|
||||||
ShowTextEditControl(41, 3, str);
|
SS.TW.ShowEditControl(41, 3, str);
|
||||||
SS.TW.edit.meaning = EDIT_MAX_SEGMENTS;
|
SS.TW.edit.meaning = EDIT_MAX_SEGMENTS;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextWindow::ScreenChangeCameraTangent(int link, DWORD v) {
|
void TextWindow::ScreenChangeCameraTangent(int link, DWORD v) {
|
||||||
char str[1024];
|
char str[1024];
|
||||||
sprintf(str, "%.3f", 1000*SS.cameraTangent);
|
sprintf(str, "%.3f", 1000*SS.cameraTangent);
|
||||||
ShowTextEditControl(47, 3, str);
|
SS.TW.ShowEditControl(47, 3, str);
|
||||||
SS.TW.edit.meaning = EDIT_CAMERA_TANGENT;
|
SS.TW.edit.meaning = EDIT_CAMERA_TANGENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextWindow::ScreenChangeGridSpacing(int link, DWORD v) {
|
void TextWindow::ScreenChangeGridSpacing(int link, DWORD v) {
|
||||||
ShowTextEditControl(51, 3, SS.MmToString(SS.gridSpacing));
|
SS.TW.ShowEditControl(51, 3, SS.MmToString(SS.gridSpacing));
|
||||||
SS.TW.edit.meaning = EDIT_GRID_SPACING;
|
SS.TW.edit.meaning = EDIT_GRID_SPACING;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,12 +61,12 @@ void TextWindow::ScreenChangeExportScale(int link, DWORD v) {
|
|||||||
char str[1024];
|
char str[1024];
|
||||||
sprintf(str, "%.3f", (double)SS.exportScale);
|
sprintf(str, "%.3f", (double)SS.exportScale);
|
||||||
|
|
||||||
ShowTextEditControl(57, 5, str);
|
SS.TW.ShowEditControl(57, 5, str);
|
||||||
SS.TW.edit.meaning = EDIT_EXPORT_SCALE;
|
SS.TW.edit.meaning = EDIT_EXPORT_SCALE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextWindow::ScreenChangeExportOffset(int link, DWORD v) {
|
void TextWindow::ScreenChangeExportOffset(int link, DWORD v) {
|
||||||
ShowTextEditControl(61, 3, SS.MmToString(SS.exportOffset));
|
SS.TW.ShowEditControl(61, 3, SS.MmToString(SS.exportOffset));
|
||||||
SS.TW.edit.meaning = EDIT_EXPORT_OFFSET;
|
SS.TW.edit.meaning = EDIT_EXPORT_OFFSET;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ void TextWindow::ScreenChangeCanvasSize(int link, DWORD v) {
|
|||||||
row += (v - 10)*2;
|
row += (v - 10)*2;
|
||||||
col = 13;
|
col = 13;
|
||||||
}
|
}
|
||||||
ShowTextEditControl(row, col, SS.MmToString(d));
|
SS.TW.ShowEditControl(row, col, SS.MmToString(d));
|
||||||
SS.TW.edit.meaning = EDIT_CANVAS_SIZE;
|
SS.TW.edit.meaning = EDIT_CANVAS_SIZE;
|
||||||
SS.TW.edit.i = v;
|
SS.TW.edit.i = v;
|
||||||
}
|
}
|
||||||
@ -159,7 +159,7 @@ void TextWindow::ScreenChangeGCodeParameter(int link, DWORD v) {
|
|||||||
row += 6;
|
row += 6;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
ShowTextEditControl(row, 14, buf);
|
SS.TW.ShowEditControl(row, 14, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextWindow::ShowConfiguration(void) {
|
void TextWindow::ShowConfiguration(void) {
|
||||||
|
@ -12,7 +12,7 @@ void TextWindow::ScreenEditTtfText(int link, DWORD v) {
|
|||||||
hRequest hr = { v };
|
hRequest hr = { v };
|
||||||
Request *r = SK.GetRequest(hr);
|
Request *r = SK.GetRequest(hr);
|
||||||
|
|
||||||
ShowTextEditControl(13, 10, r->str.str);
|
SS.TW.ShowEditControl(13, 10, r->str.str);
|
||||||
SS.TW.edit.meaning = EDIT_TTF_TEXT;
|
SS.TW.edit.meaning = EDIT_TTF_TEXT;
|
||||||
SS.TW.edit.request = hr;
|
SS.TW.edit.request = hr;
|
||||||
}
|
}
|
||||||
|
@ -590,7 +590,7 @@ void GraphicsWindow::DeleteTaggedRequests(void) {
|
|||||||
// An edit might be in progress for the just-deleted item. So
|
// An edit might be in progress for the just-deleted item. So
|
||||||
// now it's not.
|
// now it's not.
|
||||||
HideGraphicsEditControl();
|
HideGraphicsEditControl();
|
||||||
HideTextEditControl();
|
SS.TW.HideEditControl();
|
||||||
// And clear out the selection, which could contain that item.
|
// And clear out the selection, which could contain that item.
|
||||||
ClearSuper();
|
ClearSuper();
|
||||||
// And regenerate to get rid of what it generates, plus anything
|
// And regenerate to get rid of what it generates, plus anything
|
||||||
@ -640,7 +640,7 @@ void GraphicsWindow::MenuEdit(int id) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
SS.GW.ClearSuper();
|
SS.GW.ClearSuper();
|
||||||
HideTextEditControl();
|
SS.TW.HideEditControl();
|
||||||
SS.nakedEdges.Clear();
|
SS.nakedEdges.Clear();
|
||||||
SS.justExportedInfo.draw = false;
|
SS.justExportedInfo.draw = false;
|
||||||
// This clears the marks drawn to indicate which points are
|
// This clears the marks drawn to indicate which points are
|
||||||
|
@ -769,7 +769,7 @@ void GraphicsWindow::MouseLeftDown(double mx, double my) {
|
|||||||
HideGraphicsEditControl();
|
HideGraphicsEditControl();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
HideTextEditControl();
|
SS.TW.HideEditControl();
|
||||||
|
|
||||||
if(SS.showToolbar) {
|
if(SS.showToolbar) {
|
||||||
if(ToolbarMouseDown((int)mx, (int)my)) return;
|
if(ToolbarMouseDown((int)mx, (int)my)) return;
|
||||||
@ -1104,7 +1104,7 @@ void GraphicsWindow::MouseLeftUp(double mx, double my) {
|
|||||||
|
|
||||||
void GraphicsWindow::MouseLeftDoubleClick(double mx, double my) {
|
void GraphicsWindow::MouseLeftDoubleClick(double mx, double my) {
|
||||||
if(GraphicsEditControlIsVisible()) return;
|
if(GraphicsEditControlIsVisible()) return;
|
||||||
HideTextEditControl();
|
SS.TW.HideEditControl();
|
||||||
|
|
||||||
if(hover.constraint.v) {
|
if(hover.constraint.v) {
|
||||||
constraintBeingEdited = hover.constraint;
|
constraintBeingEdited = hover.constraint;
|
||||||
|
@ -128,7 +128,7 @@ void EnableMenuById(int id, BOOL checked);
|
|||||||
void ShowGraphicsEditControl(int x, int y, char *s);
|
void ShowGraphicsEditControl(int x, int y, char *s);
|
||||||
void HideGraphicsEditControl(void);
|
void HideGraphicsEditControl(void);
|
||||||
BOOL GraphicsEditControlIsVisible(void);
|
BOOL GraphicsEditControlIsVisible(void);
|
||||||
void ShowTextEditControl(int hr, int c, char *s);
|
void ShowTextEditControl(int x, int y, char *s);
|
||||||
void HideTextEditControl(void);
|
void HideTextEditControl(void);
|
||||||
BOOL TextEditControlIsVisible(void);
|
BOOL TextEditControlIsVisible(void);
|
||||||
void MoveTextScrollbarTo(int pos, int maxPos, int page);
|
void MoveTextScrollbarTo(int pos, int maxPos, int page);
|
||||||
|
12
style.cpp
12
style.cpp
@ -326,7 +326,7 @@ void TextWindow::ScreenChangeBackgroundColor(int link, DWORD v) {
|
|||||||
DWORD rgb = SS.backgroundColor;
|
DWORD rgb = SS.backgroundColor;
|
||||||
char str[300];
|
char str[300];
|
||||||
sprintf(str, "%.2f, %.2f, %.2f", REDf(rgb), GREENf(rgb), BLUEf(rgb));
|
sprintf(str, "%.2f, %.2f, %.2f", REDf(rgb), GREENf(rgb), BLUEf(rgb));
|
||||||
ShowTextEditControl(v, 3, str);
|
SS.TW.ShowEditControl(v, 3, str);
|
||||||
SS.TW.edit.meaning = EDIT_BACKGROUND_COLOR;
|
SS.TW.edit.meaning = EDIT_BACKGROUND_COLOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -406,7 +406,7 @@ void TextWindow::ScreenChangeBackgroundImageScale(int link, DWORD v) {
|
|||||||
char str[300];
|
char str[300];
|
||||||
sprintf(str, "%.3f", SS.bgImage.scale * SS.MmPerUnit());
|
sprintf(str, "%.3f", SS.bgImage.scale * SS.MmPerUnit());
|
||||||
SS.TW.edit.meaning = EDIT_BACKGROUND_IMG_SCALE;
|
SS.TW.edit.meaning = EDIT_BACKGROUND_IMG_SCALE;
|
||||||
ShowTextEditControl(v, 10, str);
|
SS.TW.ShowEditControl(v, 10, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextWindow::ShowListOfStyles(void) {
|
void TextWindow::ShowListOfStyles(void) {
|
||||||
@ -464,7 +464,7 @@ void TextWindow::ShowListOfStyles(void) {
|
|||||||
void TextWindow::ScreenChangeStyleName(int link, DWORD v) {
|
void TextWindow::ScreenChangeStyleName(int link, DWORD v) {
|
||||||
hStyle hs = { v };
|
hStyle hs = { v };
|
||||||
Style *s = Style::Get(hs);
|
Style *s = Style::Get(hs);
|
||||||
ShowTextEditControl(10, 12, s->name.str);
|
SS.TW.ShowEditControl(10, 12, s->name.str);
|
||||||
SS.TW.edit.style = hs;
|
SS.TW.edit.style = hs;
|
||||||
SS.TW.edit.meaning = EDIT_STYLE_NAME;
|
SS.TW.edit.meaning = EDIT_STYLE_NAME;
|
||||||
}
|
}
|
||||||
@ -503,7 +503,7 @@ void TextWindow::ScreenChangeStyleWidthOrTextHeight(int link, DWORD v) {
|
|||||||
row = 33; // text height (for custom styles only)
|
row = 33; // text height (for custom styles only)
|
||||||
col++;
|
col++;
|
||||||
}
|
}
|
||||||
ShowTextEditControl(row, col, str);
|
SS.TW.ShowEditControl(row, col, str);
|
||||||
SS.TW.edit.style = hs;
|
SS.TW.edit.style = hs;
|
||||||
SS.TW.edit.meaning = (link == 't') ? EDIT_STYLE_TEXT_HEIGHT :
|
SS.TW.edit.meaning = (link == 't') ? EDIT_STYLE_TEXT_HEIGHT :
|
||||||
EDIT_STYLE_WIDTH;
|
EDIT_STYLE_WIDTH;
|
||||||
@ -514,7 +514,7 @@ void TextWindow::ScreenChangeStyleTextAngle(int link, DWORD v) {
|
|||||||
Style *s = Style::Get(hs);
|
Style *s = Style::Get(hs);
|
||||||
char str[300];
|
char str[300];
|
||||||
sprintf(str, "%.2f", s->textAngle);
|
sprintf(str, "%.2f", s->textAngle);
|
||||||
ShowTextEditControl(37, 9, str);
|
SS.TW.ShowEditControl(37, 9, str);
|
||||||
SS.TW.edit.style = hs;
|
SS.TW.edit.style = hs;
|
||||||
SS.TW.edit.meaning = EDIT_STYLE_TEXT_ANGLE;
|
SS.TW.edit.meaning = EDIT_STYLE_TEXT_ANGLE;
|
||||||
}
|
}
|
||||||
@ -538,7 +538,7 @@ void TextWindow::ScreenChangeStyleColor(int link, DWORD v) {
|
|||||||
}
|
}
|
||||||
char str[300];
|
char str[300];
|
||||||
sprintf(str, "%.2f, %.2f, %.2f", REDf(rgb), GREENf(rgb), BLUEf(rgb));
|
sprintf(str, "%.2f, %.2f, %.2f", REDf(rgb), GREENf(rgb), BLUEf(rgb));
|
||||||
ShowTextEditControl(row, col, str);
|
SS.TW.ShowEditControl(row, col, str);
|
||||||
SS.TW.edit.style = hs;
|
SS.TW.edit.style = hs;
|
||||||
SS.TW.edit.meaning = em;
|
SS.TW.edit.meaning = em;
|
||||||
}
|
}
|
||||||
|
@ -252,13 +252,13 @@ void TextWindow::ScreenChangeExprA(int link, DWORD v) {
|
|||||||
|
|
||||||
char str[1024];
|
char str[1024];
|
||||||
sprintf(str, "%d", (int)g->valA);
|
sprintf(str, "%d", (int)g->valA);
|
||||||
ShowTextEditControl(r, 10, str);
|
SS.TW.ShowEditControl(r, 10, str);
|
||||||
SS.TW.edit.meaning = EDIT_TIMES_REPEATED;
|
SS.TW.edit.meaning = EDIT_TIMES_REPEATED;
|
||||||
SS.TW.edit.group.v = v;
|
SS.TW.edit.group.v = v;
|
||||||
}
|
}
|
||||||
void TextWindow::ScreenChangeGroupName(int link, DWORD v) {
|
void TextWindow::ScreenChangeGroupName(int link, DWORD v) {
|
||||||
Group *g = SK.GetGroup(SS.TW.shown.group);
|
Group *g = SK.GetGroup(SS.TW.shown.group);
|
||||||
ShowTextEditControl(7, 12, g->DescriptionString()+5);
|
SS.TW.ShowEditControl(7, 12, g->DescriptionString()+5);
|
||||||
SS.TW.edit.meaning = EDIT_GROUP_NAME;
|
SS.TW.edit.meaning = EDIT_GROUP_NAME;
|
||||||
SS.TW.edit.group.v = v;
|
SS.TW.edit.group.v = v;
|
||||||
}
|
}
|
||||||
@ -267,7 +267,7 @@ void TextWindow::ScreenChangeGroupScale(int link, DWORD v) {
|
|||||||
|
|
||||||
char str[1024];
|
char str[1024];
|
||||||
sprintf(str, "%.3f", g->scale);
|
sprintf(str, "%.3f", g->scale);
|
||||||
ShowTextEditControl(14, 13, str);
|
SS.TW.ShowEditControl(14, 13, str);
|
||||||
SS.TW.edit.meaning = EDIT_GROUP_SCALE;
|
SS.TW.edit.meaning = EDIT_GROUP_SCALE;
|
||||||
SS.TW.edit.group.v = v;
|
SS.TW.edit.group.v = v;
|
||||||
}
|
}
|
||||||
@ -530,13 +530,13 @@ void TextWindow::ScreenStepDimFinish(int link, DWORD v) {
|
|||||||
} else {
|
} else {
|
||||||
sprintf(s, "%.3f", SS.TW.shown.dimFinish);
|
sprintf(s, "%.3f", SS.TW.shown.dimFinish);
|
||||||
}
|
}
|
||||||
ShowTextEditControl(12, 12, s);
|
SS.TW.ShowEditControl(12, 12, s);
|
||||||
}
|
}
|
||||||
void TextWindow::ScreenStepDimSteps(int link, DWORD v) {
|
void TextWindow::ScreenStepDimSteps(int link, DWORD v) {
|
||||||
char str[1024];
|
char str[1024];
|
||||||
sprintf(str, "%d", SS.TW.shown.dimSteps);
|
sprintf(str, "%d", SS.TW.shown.dimSteps);
|
||||||
SS.TW.edit.meaning = EDIT_STEP_DIM_STEPS;
|
SS.TW.edit.meaning = EDIT_STEP_DIM_STEPS;
|
||||||
ShowTextEditControl(14, 12, str);
|
SS.TW.ShowEditControl(14, 12, str);
|
||||||
}
|
}
|
||||||
void TextWindow::ScreenStepDimGo(int link, DWORD v) {
|
void TextWindow::ScreenStepDimGo(int link, DWORD v) {
|
||||||
hConstraint hc = SS.TW.shown.constraint;
|
hConstraint hc = SS.TW.shown.constraint;
|
||||||
@ -598,7 +598,7 @@ void TextWindow::ScreenChangeTangentArc(int link, DWORD v) {
|
|||||||
char str[1024];
|
char str[1024];
|
||||||
strcpy(str, SS.MmToString(SS.tangentArcRadius));
|
strcpy(str, SS.MmToString(SS.tangentArcRadius));
|
||||||
SS.TW.edit.meaning = EDIT_TANGENT_ARC_RADIUS;
|
SS.TW.edit.meaning = EDIT_TANGENT_ARC_RADIUS;
|
||||||
ShowTextEditControl(12, 3, str);
|
SS.TW.ShowEditControl(12, 3, str);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -755,7 +755,7 @@ void TextWindow::EditControlDone(char *s) {
|
|||||||
SS.later.showTW = true;
|
SS.later.showTW = true;
|
||||||
|
|
||||||
if(!edit.showAgain) {
|
if(!edit.showAgain) {
|
||||||
HideTextEditControl();
|
HideEditControl();
|
||||||
edit.meaning = EDIT_NOTHING;
|
edit.meaning = EDIT_NOTHING;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
28
textwin.cpp
28
textwin.cpp
@ -56,7 +56,7 @@ void TextWindow::Init(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TextWindow::ClearSuper(void) {
|
void TextWindow::ClearSuper(void) {
|
||||||
HideTextEditControl();
|
HideEditControl();
|
||||||
|
|
||||||
memset(this, 0, sizeof(*this));
|
memset(this, 0, sizeof(*this));
|
||||||
MakeColorTable(fgColors, fgColorTable);
|
MakeColorTable(fgColors, fgColorTable);
|
||||||
@ -66,6 +66,20 @@ void TextWindow::ClearSuper(void) {
|
|||||||
Show();
|
Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TextWindow::HideEditControl(void) {
|
||||||
|
HideTextEditControl();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TextWindow::ShowEditControl(int halfRow, int col, char *s) {
|
||||||
|
editControl.halfRow = halfRow;
|
||||||
|
editControl.col = col;
|
||||||
|
|
||||||
|
int x = LEFT_MARGIN + CHAR_WIDTH*col;
|
||||||
|
int y = (halfRow - SS.TW.scrollPos)*(LINE_HEIGHT/2);
|
||||||
|
|
||||||
|
ShowTextEditControl(x - 3, y + 2, s);
|
||||||
|
}
|
||||||
|
|
||||||
void TextWindow::ClearScreen(void) {
|
void TextWindow::ClearScreen(void) {
|
||||||
int i, j;
|
int i, j;
|
||||||
for(i = 0; i < MAX_ROWS; i++) {
|
for(i = 0; i < MAX_ROWS; i++) {
|
||||||
@ -249,7 +263,7 @@ void TextWindow::Show(void) {
|
|||||||
if(SS.GW.pending.description) {
|
if(SS.GW.pending.description) {
|
||||||
// A pending operation (that must be completed with the mouse in
|
// A pending operation (that must be completed with the mouse in
|
||||||
// the graphics window) will preempt our usual display.
|
// the graphics window) will preempt our usual display.
|
||||||
HideTextEditControl();
|
HideEditControl();
|
||||||
ShowHeader(false);
|
ShowHeader(false);
|
||||||
Printf(false, "");
|
Printf(false, "");
|
||||||
Printf(false, "%s", SS.GW.pending.description);
|
Printf(false, "%s", SS.GW.pending.description);
|
||||||
@ -258,11 +272,11 @@ void TextWindow::Show(void) {
|
|||||||
} else if((gs.n > 0 || gs.constraints > 0) &&
|
} else if((gs.n > 0 || gs.constraints > 0) &&
|
||||||
shown.screen != SCREEN_PASTE_TRANSFORMED)
|
shown.screen != SCREEN_PASTE_TRANSFORMED)
|
||||||
{
|
{
|
||||||
if(edit.meaning != EDIT_TTF_TEXT) HideTextEditControl();
|
if(edit.meaning != EDIT_TTF_TEXT) HideEditControl();
|
||||||
ShowHeader(false);
|
ShowHeader(false);
|
||||||
DescribeSelection();
|
DescribeSelection();
|
||||||
} else {
|
} else {
|
||||||
if(edit.meaning == EDIT_TTF_TEXT) HideTextEditControl();
|
if(edit.meaning == EDIT_TTF_TEXT) HideEditControl();
|
||||||
ShowHeader(true);
|
ShowHeader(true);
|
||||||
switch(shown.screen) {
|
switch(shown.screen) {
|
||||||
default:
|
default:
|
||||||
@ -571,7 +585,7 @@ void TextWindow::Paint(void) {
|
|||||||
void TextWindow::MouseEvent(bool leftClick, double x, double y) {
|
void TextWindow::MouseEvent(bool leftClick, double x, double y) {
|
||||||
if(TextEditControlIsVisible() || GraphicsEditControlIsVisible()) {
|
if(TextEditControlIsVisible() || GraphicsEditControlIsVisible()) {
|
||||||
if(leftClick) {
|
if(leftClick) {
|
||||||
HideTextEditControl();
|
HideEditControl();
|
||||||
HideGraphicsEditControl();
|
HideGraphicsEditControl();
|
||||||
} else {
|
} else {
|
||||||
SetMousePointerToHand(false);
|
SetMousePointerToHand(false);
|
||||||
@ -653,9 +667,7 @@ void TextWindow::ScrollbarEvent(int newPos) {
|
|||||||
MoveTextScrollbarTo(scrollPos, top[rows - 1] + 1, halfRows);
|
MoveTextScrollbarTo(scrollPos, top[rows - 1] + 1, halfRows);
|
||||||
|
|
||||||
if(TextEditControlIsVisible()) {
|
if(TextEditControlIsVisible()) {
|
||||||
extern int TextEditControlCol, TextEditControlHalfRow;
|
ShowEditControl(editControl.halfRow, editControl.col, NULL);
|
||||||
ShowTextEditControl(
|
|
||||||
TextEditControlHalfRow, TextEditControlCol, NULL);
|
|
||||||
}
|
}
|
||||||
InvalidateText();
|
InvalidateText();
|
||||||
}
|
}
|
||||||
|
10
ui.h
10
ui.h
@ -177,6 +177,16 @@ public:
|
|||||||
|
|
||||||
static void ReportHowGroupSolved(hGroup hg);
|
static void ReportHowGroupSolved(hGroup hg);
|
||||||
|
|
||||||
|
struct {
|
||||||
|
int halfRow;
|
||||||
|
int col;
|
||||||
|
|
||||||
|
bool showColorPicker;
|
||||||
|
} editControl;
|
||||||
|
|
||||||
|
void HideEditControl(void);
|
||||||
|
void ShowEditControl(int halfRow, int col, char *s);
|
||||||
|
|
||||||
void ClearSuper(void);
|
void ClearSuper(void);
|
||||||
|
|
||||||
void ShowHeader(bool withNav);
|
void ShowHeader(bool withNav);
|
||||||
|
10
view.cpp
10
view.cpp
@ -36,7 +36,7 @@ void TextWindow::ScreenChangeViewScale(int link, DWORD v) {
|
|||||||
sprintf(buf, "%.3f", SS.GW.scale * SS.MmPerUnit());
|
sprintf(buf, "%.3f", SS.GW.scale * SS.MmPerUnit());
|
||||||
|
|
||||||
SS.TW.edit.meaning = EDIT_VIEW_SCALE;
|
SS.TW.edit.meaning = EDIT_VIEW_SCALE;
|
||||||
ShowTextEditControl(12, 3, buf);
|
SS.TW.ShowEditControl(12, 3, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextWindow::ScreenChangeViewOrigin(int link, DWORD v) {
|
void TextWindow::ScreenChangeViewOrigin(int link, DWORD v) {
|
||||||
@ -47,14 +47,14 @@ void TextWindow::ScreenChangeViewOrigin(int link, DWORD v) {
|
|||||||
SS.MmToString(-SS.GW.offset.z));
|
SS.MmToString(-SS.GW.offset.z));
|
||||||
|
|
||||||
SS.TW.edit.meaning = EDIT_VIEW_ORIGIN;
|
SS.TW.edit.meaning = EDIT_VIEW_ORIGIN;
|
||||||
ShowTextEditControl(18, 3, buf);
|
SS.TW.ShowEditControl(18, 3, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextWindow::ScreenChangeViewProjection(int link, DWORD v) {
|
void TextWindow::ScreenChangeViewProjection(int link, DWORD v) {
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
sprintf(buf, "%.3f, %.3f, %.3f", CO(SS.GW.projRight));
|
sprintf(buf, "%.3f, %.3f, %.3f", CO(SS.GW.projRight));
|
||||||
SS.TW.edit.meaning = EDIT_VIEW_PROJ_RIGHT;
|
SS.TW.edit.meaning = EDIT_VIEW_PROJ_RIGHT;
|
||||||
ShowTextEditControl(24, 10, buf);
|
SS.TW.ShowEditControl(24, 10, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TextWindow::EditControlDoneForView(char *s) {
|
bool TextWindow::EditControlDoneForView(char *s) {
|
||||||
@ -96,8 +96,8 @@ bool TextWindow::EditControlDoneForView(char *s) {
|
|||||||
edit.meaning = EDIT_VIEW_PROJ_UP;
|
edit.meaning = EDIT_VIEW_PROJ_UP;
|
||||||
char buf[1024];
|
char buf[1024];
|
||||||
sprintf(buf, "%.3f, %.3f, %.3f", CO(SS.GW.projUp));
|
sprintf(buf, "%.3f, %.3f, %.3f", CO(SS.GW.projUp));
|
||||||
HideTextEditControl();
|
HideEditControl();
|
||||||
ShowTextEditControl(26, 10, buf);
|
ShowEditControl(26, 10, buf);
|
||||||
edit.showAgain = true;
|
edit.showAgain = true;
|
||||||
} else {
|
} else {
|
||||||
SS.GW.projUp = pt;
|
SS.GW.projUp = pt;
|
||||||
|
@ -27,7 +27,6 @@ HWND TextWnd;
|
|||||||
HWND TextWndScrollBar;
|
HWND TextWndScrollBar;
|
||||||
HWND TextEditControl;
|
HWND TextEditControl;
|
||||||
HGLRC TextGl;
|
HGLRC TextGl;
|
||||||
int TextEditControlCol, TextEditControlHalfRow;
|
|
||||||
|
|
||||||
HWND GraphicsWnd;
|
HWND GraphicsWnd;
|
||||||
HGLRC GraphicsGl;
|
HGLRC GraphicsGl;
|
||||||
@ -649,15 +648,11 @@ static void ShowEditControl(HWND h, int x, int y, char *s) {
|
|||||||
SetFocus(h);
|
SetFocus(h);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void ShowTextEditControl(int hr, int c, char *s)
|
void ShowTextEditControl(int x, int y, char *s)
|
||||||
{
|
{
|
||||||
if(GraphicsEditControlIsVisible()) return;
|
if(GraphicsEditControlIsVisible()) return;
|
||||||
|
|
||||||
int x = SS.TW.LEFT_MARGIN + SS.TW.CHAR_WIDTH*c;
|
ShowEditControl(TextEditControl, x, y, s);
|
||||||
int y = (hr - SS.TW.scrollPos)*(SS.TW.LINE_HEIGHT/2);
|
|
||||||
TextEditControlCol = c;
|
|
||||||
TextEditControlHalfRow = hr;
|
|
||||||
ShowEditControl(TextEditControl, x - 1, y + 2, s);
|
|
||||||
}
|
}
|
||||||
void HideTextEditControl(void)
|
void HideTextEditControl(void)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user