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:
Jonathan Westhues 2010-07-11 23:51:12 -08:00
parent 319ba16541
commit 824cc00915
12 changed files with 70 additions and 53 deletions

View File

@ -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;
} }

View File

@ -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) {

View File

@ -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;
} }

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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;
} }

View File

@ -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;
} }
} }

View File

@ -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
View File

@ -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);

View File

@ -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;

View File

@ -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)
{ {