New view options dialog items for comet tails, ring shadows, constellation boundaries, and distance filter stars.
parent
8d6a798b09
commit
1a51cb944a
|
@ -52,6 +52,7 @@ BEGIN
|
|||
MENUITEM SEPARATOR
|
||||
MENUITEM "Solar System &Browser...", ID_NAVIGATION_SSBROWSER
|
||||
MENUITEM "Star B&rowser...", ID_NAVIGATION_STARBROWSER
|
||||
MENUITEM "&Eclipse Finder", ID_NAVIGATION_ECLIPSEFINDER
|
||||
END
|
||||
POPUP "&Time"
|
||||
BEGIN
|
||||
|
@ -142,7 +143,7 @@ CAPTION "About Celestia"
|
|||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,131,76,50,14
|
||||
CTEXT "Celestia 1.2.4",IDC_STATIC,6,7,297,9
|
||||
CTEXT "Celestia 1.2.5",IDC_STATIC,6,7,297,9
|
||||
CTEXT "Copyright (C) 2001, Chris Laurel",IDC_STATIC,6,16,297,9
|
||||
CTEXT "Visit http://www.shatters.net/celestia for more info.",
|
||||
IDC_STATIC,6,53,297,9
|
||||
|
@ -323,7 +324,7 @@ BEGIN
|
|||
PUSHBUTTON "Cancel",IDCANCEL,87,44,50,14
|
||||
END
|
||||
|
||||
IDD_VIEWOPTIONS DIALOG DISCARDABLE 0, 0, 174, 234
|
||||
IDD_VIEWOPTIONS DIALOG DISCARDABLE 0, 0, 174, 282
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "View Options"
|
||||
FONT 8, "MS Sans Serif"
|
||||
|
@ -340,6 +341,8 @@ BEGIN
|
|||
BS_AUTOCHECKBOX | WS_TABSTOP,15,70,70,10
|
||||
CONTROL "Galaxies",IDC_SHOWGALAXIES,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,15,83,43,10
|
||||
CONTROL "Ring Shadows",IDC_SHOWRINGSHADOWS,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,15,96,53,10
|
||||
CONTROL "Night Side Lights",IDC_SHOWNIGHTSIDELIGHTS,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,93,18,69,10
|
||||
CONTROL "Orbits",IDC_SHOWORBITS,"Button",BS_AUTOCHECKBOX |
|
||||
|
@ -350,31 +353,40 @@ BEGIN
|
|||
WS_TABSTOP,93,57,32,10
|
||||
CONTROL "Stars as Points",IDC_SHOWSTARSASPOINTS,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,93,70,63,10
|
||||
CONTROL "Comet Tails",IDC_SHOWCOMETTAILS,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,93,83,63,10
|
||||
CONTROL "Constellation Borders",IDC_SHOWCONSTELLATIONBORDERS,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,93,96,80,10
|
||||
CONTROL "Asteroids",IDC_LABELASTEROIDS,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,15,116,45,10
|
||||
WS_TABSTOP,15,129,45,10
|
||||
CONTROL "Constellations",IDC_LABELCONSTELLATIONS,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,15,129,59,10
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,15,142,59,10
|
||||
CONTROL "Galaxies",IDC_LABELGALAXIES,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,15,142,43,10
|
||||
WS_TABSTOP,15,155,43,10
|
||||
CONTROL "Moons",IDC_LABELMOONS,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,15,155,37,10
|
||||
WS_TABSTOP,15,168,37,10
|
||||
CONTROL "Planets",IDC_LABELPLANETS,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,93,116,39,10
|
||||
WS_TABSTOP,93,129,39,10
|
||||
CONTROL "Spacecraft",IDC_LABELSPACECRAFT,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,93,129,51,10
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,93,142,51,10
|
||||
CONTROL "Stars",IDC_LABELSTARS,"Button",BS_AUTOCHECKBOX |
|
||||
WS_TABSTOP,93,142,32,10
|
||||
CONTROL "None",IDC_INFOTEXT0,"Button",BS_AUTORADIOBUTTON,15,188,
|
||||
WS_TABSTOP,93,155,32,10
|
||||
CONTROL "None",IDC_INFOTEXT0,"Button",BS_AUTORADIOBUTTON,15,201,
|
||||
33,10
|
||||
CONTROL "Terse",IDC_INFOTEXT1,"Button",BS_AUTORADIOBUTTON,66,188,
|
||||
CONTROL "Terse",IDC_INFOTEXT1,"Button",BS_AUTORADIOBUTTON,66,201,
|
||||
34,10
|
||||
CONTROL "Verbose",IDC_INFOTEXT2,"Button",BS_AUTORADIOBUTTON,115,
|
||||
188,42,10
|
||||
DEFPUSHBUTTON "OK",IDOK,35,212,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,89,212,50,14
|
||||
GROUPBOX "Show",IDC_STATIC,6,5,162,94
|
||||
GROUPBOX "Label",IDC_STATIC,6,103,162,68
|
||||
GROUPBOX "Information Text",IDC_STATIC,6,175,162,30
|
||||
201,42,10
|
||||
LTEXT "Distance",IDC_STATIC,15,237,30,8
|
||||
CONTROL "Slider1",IDC_SLIDER_FILTER_DISTANCE,"msctls_trackbar32",
|
||||
TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,50,233,60,14
|
||||
EDITTEXT IDC_EDIT_FILTER_DISTANCE,118,235,40,12,ES_AUTOHSCROLL
|
||||
DEFPUSHBUTTON "OK",IDOK,35,260,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,89,260,50,14p_
|
||||
GROUPBOX "Show",IDC_STATIC,6,5,162,107
|
||||
GROUPBOX "Label",IDC_STATIC,6,116,162,68
|
||||
GROUPBOX "Information Text",IDC_STATIC,6,188,162,30
|
||||
GROUPBOX "Filter Stars",IDC_STATIC,6,223,162,30
|
||||
END
|
||||
|
||||
IDD_ADDLOCATION_FOLDER DIALOG DISCARDABLE 0, 0, 148, 61
|
||||
|
@ -416,6 +428,44 @@ BEGIN
|
|||
END
|
||||
|
||||
|
||||
IDD_ECLIPSEFINDER DIALOGEX 0, 0, 388, 300
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Eclipse Finder"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "Compute",IDCOMPUTE,330,258,50,14
|
||||
PUSHBUTTON "Close",IDCLOSE,330,279,50,14
|
||||
CONTROL "List2",IDC_ECLIPSES_LIST,"SysListView32",LVS_REPORT |
|
||||
LVS_SINGLESEL | WS_BORDER | WS_TABSTOP,17,17,232,181,
|
||||
WS_EX_CLIENTEDGE
|
||||
CONTROL "Earth",IDC_EARTH,"Button",BS_AUTORADIOBUTTON,267,87,39,
|
||||
10
|
||||
CONTROL "Saturn",IDC_SATURN,"Button",BS_AUTORADIOBUTTON,267,117,
|
||||
39,10
|
||||
CONTROL "Jupiter",IDC_JUPITER,"Button",BS_AUTORADIOBUTTON,267,
|
||||
102,39,10
|
||||
CONTROL "Uranus",IDC_URANUS,"Button",BS_AUTORADIOBUTTON,267,132,
|
||||
39,10
|
||||
CONTROL "Neptune",IDC_NEPTUNE,"Button",BS_AUTORADIOBUTTON,267,
|
||||
147,39,10
|
||||
CONTROL "Pluto",IDC_PLUTO,"Button",BS_AUTORADIOBUTTON,267,162,39,
|
||||
10
|
||||
LTEXT "Find :",IDC_STATIC,267,15,18,8
|
||||
LTEXT "From",IDC_STATIC,267,177,68,8
|
||||
LTEXT "To",IDC_STATIC,267,211,68,8
|
||||
CONTROL "DateTimePicker3",IDC_DATETO,"SysDateTimePick32",
|
||||
DTS_RIGHTALIGN | WS_TABSTOP,267,222,78,15
|
||||
CONTROL "DateTimePicker3",IDC_DATEFROM,"SysDateTimePick32",
|
||||
DTS_RIGHTALIGN | WS_TABSTOP,267,191,78,15
|
||||
DEFPUSHBUTTON "Set Date and Go to Planet",IDSETDATEANDGO,136,202,88,14
|
||||
CONTROL "Solar eclipses",IDC_SOLAR,"Button",BS_AUTORADIOBUTTON,
|
||||
267,33,59,10
|
||||
CONTROL "Moon eclipses",IDC_MOON,"Button",BS_AUTORADIOBUTTON,267,
|
||||
50,61,10
|
||||
LTEXT "on :",IDC_STATIC,267,68,13,8
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
|
|
|
@ -27,10 +27,14 @@
|
|||
#define IDD_ADDLOCATION_FOLDER 128
|
||||
#define IDD_ORGANIZE_LOCATIONS 129
|
||||
#define IDD_RENAME_LOCATION 130
|
||||
#define IDB_FOLDERCLOSED 132
|
||||
#define IDB_FOLDEROPENED 134
|
||||
#define IDB_LOCATION 136
|
||||
#define IDB_CAMERA 137
|
||||
#define IDD_COMPUTEECLIPSES 136
|
||||
#define IDD_ECLIPSEFINDER 136
|
||||
|
||||
#define IDB_FOLDERCLOSED 532
|
||||
#define IDB_FOLDEROPENED 534
|
||||
#define IDB_LOCATION 536
|
||||
#define IDB_CAMERA 537
|
||||
|
||||
#define IDC_FINDOBJECT_EDIT 1001
|
||||
#define IDC_LICENSE_TEXT 1004
|
||||
#define IDC_GLINFO_TEXT 1005
|
||||
|
@ -92,6 +96,28 @@
|
|||
#define IDC_SHOWSTARSASPOINTS 1063
|
||||
#define IDC_LABELASTEROIDS 1064
|
||||
#define IDC_LABELSPACECRAFT 1065
|
||||
// Eclipse finder controls
|
||||
#define IDC_ECLIPSES_LIST 1071
|
||||
#define IDC_EARTH 1072
|
||||
#define IDC_SATURN 1073
|
||||
#define IDC_JUPITER 1074
|
||||
#define IDC_URANUS 1075
|
||||
#define IDC_NEPTUNE 1076
|
||||
#define IDC_PLUTO 1077
|
||||
#define IDCOMPUTE 1078
|
||||
#define IDC_DATEFROM 1079
|
||||
#define IDC_DATETO 1080
|
||||
#define IDSETDATEANDGO 1081
|
||||
#define IDC_SOLAR 1082
|
||||
#define IDC_MOON 1083
|
||||
|
||||
#define IDC_EDIT_FILTER_DISTANCE 1084
|
||||
#define IDC_SLIDER_FILTER_DISTANCE 1085
|
||||
|
||||
#define IDC_SHOWCOMETTAILS 1086
|
||||
#define IDC_SHOWCONSTELLATIONBORDERS 1087
|
||||
#define IDC_SHOWRINGSHADOWS 1088
|
||||
|
||||
#define ID_SELECTSOL 40001
|
||||
#define ID_GOTOSELECTION 40002
|
||||
#define ID_FOLLOWSELECTION 40003
|
||||
|
@ -110,7 +136,7 @@
|
|||
#define ID_NAVIGATION_GOTO 40020
|
||||
#define ID_NAVIGATION_FOLLOW 40021
|
||||
#define ID_NAVIGATION_TOURGUIDE 40022
|
||||
#define ID_NAVIGATION_BLAH 40023
|
||||
#define ID_NAVIGATION_ECLIPSEFINDER 40023
|
||||
#define ID_TIME_FASTER 40024
|
||||
#define ID_TIME_SLOWER 40025
|
||||
#define ID_TIME_FREEZE 40026
|
||||
|
@ -149,7 +175,7 @@
|
|||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 138
|
||||
#define _APS_NEXT_COMMAND_VALUE 40065
|
||||
#define _APS_NEXT_CONTROL_VALUE 1066
|
||||
#define _APS_NEXT_CONTROL_VALUE 1089
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
// of the License, or (at your option) any later version.
|
||||
|
||||
#include <windows.h>
|
||||
#include <commctrl.h>
|
||||
#include "winviewoptsdlg.h"
|
||||
#include "..\celengine\render.h"
|
||||
|
||||
|
@ -17,6 +18,10 @@
|
|||
|
||||
using namespace std;
|
||||
|
||||
static const int DistanceSliderRange = 10000;
|
||||
static const float MinDistanceLimit = 1.0f;
|
||||
static const float MaxDistanceLimit = 1.0e6f;
|
||||
|
||||
static BOOL APIENTRY ViewOptionsProc(HWND hDlg,
|
||||
UINT message,
|
||||
UINT wParam,
|
||||
|
@ -78,6 +83,12 @@ static BOOL APIENTRY ViewOptionsProc(HWND hDlg,
|
|||
}
|
||||
else if(LOWORD(wParam) == IDC_SHOWSTARSASPOINTS)
|
||||
renderer->setRenderFlags(renderer->getRenderFlags() ^ renderer->ShowStarsAsPoints);
|
||||
else if(LOWORD(wParam) == IDC_SHOWCONSTELLATIONBORDERS)
|
||||
renderer->setRenderFlags(renderer->getRenderFlags() ^ renderer->ShowBoundaries);
|
||||
else if(LOWORD(wParam) == IDC_SHOWRINGSHADOWS)
|
||||
renderer->setRenderFlags(renderer->getRenderFlags() ^ renderer->ShowRingShadows);
|
||||
else if(LOWORD(wParam) == IDC_SHOWCOMETTAILS)
|
||||
renderer->setRenderFlags(renderer->getRenderFlags() ^ renderer->ShowCometTails);
|
||||
else if(LOWORD(wParam) == IDC_LABELCONSTELLATIONS)
|
||||
renderer->setLabelMode(renderer->getLabelMode() ^ renderer->ConstellationLabels);
|
||||
else if(LOWORD(wParam) == IDC_LABELGALAXIES)
|
||||
|
@ -98,7 +109,6 @@ static BOOL APIENTRY ViewOptionsProc(HWND hDlg,
|
|||
Dlg->appCore->setHudDetail(1);
|
||||
else if(LOWORD(wParam) == IDC_INFOTEXT2)
|
||||
Dlg->appCore->setHudDetail(2);
|
||||
|
||||
else if (LOWORD(wParam) == IDOK)
|
||||
{
|
||||
if (Dlg != NULL && Dlg->parent != NULL)
|
||||
|
@ -132,6 +142,40 @@ static BOOL APIENTRY ViewOptionsProc(HWND hDlg,
|
|||
reinterpret_cast<LPARAM>(Dlg));
|
||||
}
|
||||
return TRUE;
|
||||
|
||||
case WM_HSCROLL:
|
||||
{
|
||||
WORD sbValue = LOWORD(wParam);
|
||||
switch (sbValue)
|
||||
{
|
||||
case SB_THUMBTRACK:
|
||||
// case SB_ENDSCROLL:
|
||||
{
|
||||
char val[16];
|
||||
HWND hwnd = GetDlgItem(hDlg, IDC_EDIT_FILTER_DISTANCE);
|
||||
float logDistanceLimit = (float) HIWORD(wParam) /
|
||||
(float) DistanceSliderRange;
|
||||
float distanceLimit = (float) pow(MaxDistanceLimit,
|
||||
logDistanceLimit);
|
||||
sprintf(val, "%d", (int) distanceLimit);
|
||||
SetWindowText(hwnd, val);
|
||||
Dlg->appCore->getRenderer()->setDistanceLimit(distanceLimit);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
cout << "Slider msg: " << sbValue << '\n';
|
||||
break;
|
||||
#if 0
|
||||
case SB_THUMBPOSITION:
|
||||
{
|
||||
browser->nStars = (int)HIWORD(wParam);
|
||||
RefreshItems(hDlg, browser);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
@ -181,6 +225,12 @@ void ViewOptionsDialog::SetControls(HWND hDlg)
|
|||
((renderFlags & appCore->getRenderer()->ShowStars) != 0)? BST_CHECKED:BST_UNCHECKED, 0);
|
||||
SendDlgItemMessage(hDlg, IDC_SHOWSTARSASPOINTS, BM_SETCHECK,
|
||||
((renderFlags & appCore->getRenderer()->ShowStarsAsPoints) != 0)? BST_CHECKED:BST_UNCHECKED, 0);
|
||||
SendDlgItemMessage(hDlg, IDC_SHOWCONSTELLATIONBORDERS, BM_SETCHECK,
|
||||
((renderFlags & appCore->getRenderer()->ShowBoundaries) != 0)? BST_CHECKED:BST_UNCHECKED, 0);
|
||||
SendDlgItemMessage(hDlg, IDC_SHOWRINGSHADOWS, BM_SETCHECK,
|
||||
((renderFlags & appCore->getRenderer()->ShowRingShadows) != 0)? BST_CHECKED:BST_UNCHECKED, 0);
|
||||
SendDlgItemMessage(hDlg, IDC_SHOWCOMETTAILS, BM_SETCHECK,
|
||||
((renderFlags & appCore->getRenderer()->ShowCometTails) != 0)? BST_CHECKED:BST_UNCHECKED, 0);
|
||||
|
||||
SendDlgItemMessage(hDlg, IDC_LABELCONSTELLATIONS, BM_SETCHECK,
|
||||
((labelMode & appCore->getRenderer()->ConstellationLabels) != 0)? BST_CHECKED:BST_UNCHECKED, 0);
|
||||
|
@ -198,8 +248,29 @@ void ViewOptionsDialog::SetControls(HWND hDlg)
|
|||
((labelMode & appCore->getRenderer()->SpacecraftLabels) != 0)? BST_CHECKED:BST_UNCHECKED, 0);
|
||||
|
||||
CheckRadioButton(hDlg, IDC_INFOTEXT0, IDC_INFOTEXT2, IDC_INFOTEXT0 + hudDetail);
|
||||
|
||||
// Set up distance slider
|
||||
SendDlgItemMessage(hDlg,
|
||||
IDC_SLIDER_FILTER_DISTANCE,
|
||||
TBM_SETRANGE,
|
||||
(WPARAM)TRUE,
|
||||
(LPARAM) MAKELONG(0, DistanceSliderRange));
|
||||
float distanceLimit = appCore->getRenderer()->getDistanceLimit();
|
||||
float logDistanceLimit = (float) (log(distanceLimit) /
|
||||
log(MaxDistanceLimit));
|
||||
SendDlgItemMessage(hDlg,
|
||||
IDC_SLIDER_FILTER_DISTANCE,
|
||||
TBM_SETPOS,
|
||||
(WPARAM) TRUE,
|
||||
(LPARAM) (logDistanceLimit * DistanceSliderRange));
|
||||
|
||||
char val[16];
|
||||
HWND hwnd = GetDlgItem(hDlg, IDC_EDIT_FILTER_DISTANCE);
|
||||
sprintf(val, "%d", (int) distanceLimit);
|
||||
SetWindowText(hwnd, val);
|
||||
}
|
||||
|
||||
|
||||
void ViewOptionsDialog::RestoreSettings(HWND hDlg)
|
||||
{
|
||||
appCore->getRenderer()->setRenderFlags(initialRenderFlags);
|
||||
|
|
Loading…
Reference in New Issue