mirror of
https://github.com/leozide/leocad
synced 2025-01-17 18:11:42 +01:00
Added view cube preferences.
This commit is contained in:
parent
69d46cc4c4
commit
15d5e89cee
7 changed files with 162 additions and 63 deletions
|
@ -25,6 +25,8 @@ void lcPreferences::LoadDefaults()
|
||||||
mDrawGridLines = lcGetProfileInt(LC_PROFILE_GRID_LINES);
|
mDrawGridLines = lcGetProfileInt(LC_PROFILE_GRID_LINES);
|
||||||
mGridLineSpacing = lcGetProfileInt(LC_PROFILE_GRID_LINE_SPACING);
|
mGridLineSpacing = lcGetProfileInt(LC_PROFILE_GRID_LINE_SPACING);
|
||||||
mGridLineColor = lcGetProfileInt(LC_PROFILE_GRID_LINE_COLOR);
|
mGridLineColor = lcGetProfileInt(LC_PROFILE_GRID_LINE_COLOR);
|
||||||
|
mViewCubeLocation = (lcViewCubeLocation)lcGetProfileInt(LC_PROFILE_VIEW_CUBE_LOCATION);
|
||||||
|
mViewCubeSize = lcGetProfileInt(LC_PROFILE_VIEW_CUBE_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void lcPreferences::SaveDefaults()
|
void lcPreferences::SaveDefaults()
|
||||||
|
@ -40,6 +42,8 @@ void lcPreferences::SaveDefaults()
|
||||||
lcSetProfileInt(LC_PROFILE_GRID_LINES, mDrawGridLines);
|
lcSetProfileInt(LC_PROFILE_GRID_LINES, mDrawGridLines);
|
||||||
lcSetProfileInt(LC_PROFILE_GRID_LINE_SPACING, mGridLineSpacing);
|
lcSetProfileInt(LC_PROFILE_GRID_LINE_SPACING, mGridLineSpacing);
|
||||||
lcSetProfileInt(LC_PROFILE_GRID_LINE_COLOR, mGridLineColor);
|
lcSetProfileInt(LC_PROFILE_GRID_LINE_COLOR, mGridLineColor);
|
||||||
|
lcSetProfileInt(LC_PROFILE_VIEW_CUBE_LOCATION, (int)mViewCubeLocation);
|
||||||
|
lcSetProfileInt(LC_PROFILE_VIEW_CUBE_SIZE, mViewCubeSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
lcApplication::lcApplication(int& Argc, char** Argv)
|
lcApplication::lcApplication(int& Argc, char** Argv)
|
||||||
|
|
|
@ -14,6 +14,15 @@ enum lcShadingMode
|
||||||
LC_NUM_SHADING_MODES
|
LC_NUM_SHADING_MODES
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class lcViewCubeLocation
|
||||||
|
{
|
||||||
|
DISABLED,
|
||||||
|
TOP_LEFT,
|
||||||
|
TOP_RIGHT,
|
||||||
|
BOTTOM_LEFT,
|
||||||
|
BOTTOM_RIGHT
|
||||||
|
};
|
||||||
|
|
||||||
class lcPreferences
|
class lcPreferences
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -31,6 +40,8 @@ public:
|
||||||
int mGridLineSpacing;
|
int mGridLineSpacing;
|
||||||
quint32 mGridLineColor;
|
quint32 mGridLineColor;
|
||||||
bool mFixedAxes;
|
bool mFixedAxes;
|
||||||
|
lcViewCubeLocation mViewCubeLocation;
|
||||||
|
int mViewCubeSize;
|
||||||
};
|
};
|
||||||
|
|
||||||
class lcApplication : public QApplication
|
class lcApplication : public QApplication
|
||||||
|
|
|
@ -55,64 +55,66 @@ lcProfileEntry::lcProfileEntry(const char* Section, const char* Key)
|
||||||
|
|
||||||
lcProfileEntry gProfileEntries[LC_NUM_PROFILE_KEYS] =
|
lcProfileEntry gProfileEntries[LC_NUM_PROFILE_KEYS] =
|
||||||
{
|
{
|
||||||
lcProfileEntry("Settings", "FixedAxes", false), // LC_PROFILE_FIXED_AXES
|
lcProfileEntry("Settings", "FixedAxes", false), // LC_PROFILE_FIXED_AXES
|
||||||
lcProfileEntry("Settings", "LineWidth", 1.0f), // LC_PROFILE_LINE_WIDTH
|
lcProfileEntry("Settings", "LineWidth", 1.0f), // LC_PROFILE_LINE_WIDTH
|
||||||
lcProfileEntry("Settings", "ShadingMode", LC_SHADING_DEFAULT_LIGHTS), // LC_PROFILE_SHADING_MODE
|
lcProfileEntry("Settings", "ShadingMode", LC_SHADING_DEFAULT_LIGHTS), // LC_PROFILE_SHADING_MODE
|
||||||
lcProfileEntry("Settings", "DrawAxes", 0), // LC_PROFILE_DRAW_AXES
|
lcProfileEntry("Settings", "DrawAxes", 0), // LC_PROFILE_DRAW_AXES
|
||||||
lcProfileEntry("Settings", "DrawEdgeLines", 1), // LC_PROFILE_DRAW_EDGE_LINES
|
lcProfileEntry("Settings", "DrawEdgeLines", 1), // LC_PROFILE_DRAW_EDGE_LINES
|
||||||
lcProfileEntry("Settings", "GridStuds", 1), // LC_PROFILE_GRID_STUDS
|
lcProfileEntry("Settings", "GridStuds", 1), // LC_PROFILE_GRID_STUDS
|
||||||
lcProfileEntry("Settings", "GridStudColor", LC_RGBA(64, 64, 64, 192)), // LC_PROFILE_GRID_STUD_COLOR
|
lcProfileEntry("Settings", "GridStudColor", LC_RGBA(64, 64, 64, 192)), // LC_PROFILE_GRID_STUD_COLOR
|
||||||
lcProfileEntry("Settings", "GridLines", 1), // LC_PROFILE_GRID_LINES
|
lcProfileEntry("Settings", "GridLines", 1), // LC_PROFILE_GRID_LINES
|
||||||
lcProfileEntry("Settings", "GridLineSpacing", 5), // LC_PROFILE_GRID_LINE_SPACING
|
lcProfileEntry("Settings", "GridLineSpacing", 5), // LC_PROFILE_GRID_LINE_SPACING
|
||||||
lcProfileEntry("Settings", "GridLineColor", LC_RGBA(0, 0, 0, 255)), // LC_PROFILE_GRID_LINE_COLOR
|
lcProfileEntry("Settings", "GridLineColor", LC_RGBA(0, 0, 0, 255)), // LC_PROFILE_GRID_LINE_COLOR
|
||||||
lcProfileEntry("Settings", "AASamples", 1), // LC_PROFILE_ANTIALIASING_SAMPLES
|
lcProfileEntry("Settings", "AASamples", 1), // LC_PROFILE_ANTIALIASING_SAMPLES
|
||||||
|
lcProfileEntry("Settings", "ViewCubeLocation", (int)lcViewCubeLocation::TOP_RIGHT), // LC_PROFILE_VIEW_CUBE_LOCATION
|
||||||
|
lcProfileEntry("Settings", "ViewCubeSize", 100), // LC_PROFILE_VIEW_CUBE_SIZE
|
||||||
|
|
||||||
lcProfileEntry("Settings", "CheckUpdates", 1), // LC_PROFILE_CHECK_UPDATES
|
lcProfileEntry("Settings", "CheckUpdates", 1), // LC_PROFILE_CHECK_UPDATES
|
||||||
lcProfileEntry("Settings", "ProjectsPath", ""), // LC_PROFILE_PROJECTS_PATH
|
lcProfileEntry("Settings", "ProjectsPath", ""), // LC_PROFILE_PROJECTS_PATH
|
||||||
lcProfileEntry("Settings", "PartsLibrary", ""), // LC_PROFILE_PARTS_LIBRARY
|
lcProfileEntry("Settings", "PartsLibrary", ""), // LC_PROFILE_PARTS_LIBRARY
|
||||||
lcProfileEntry("Settings", "Shortcuts"), // LC_PROFILE_KEYBOARD_SHORTCUTS
|
lcProfileEntry("Settings", "Shortcuts"), // LC_PROFILE_KEYBOARD_SHORTCUTS
|
||||||
lcProfileEntry("Settings", "MouseShortcuts", QStringList()), // LC_PROFILE_MOUSE_SHORTCUTS
|
lcProfileEntry("Settings", "MouseShortcuts", QStringList()), // LC_PROFILE_MOUSE_SHORTCUTS
|
||||||
lcProfileEntry("Settings", "Categories"), // LC_PROFILE_CATEGORIES
|
lcProfileEntry("Settings", "Categories"), // LC_PROFILE_CATEGORIES
|
||||||
lcProfileEntry("Settings", "RecentFile1", ""), // LC_PROFILE_RECENT_FILE1
|
lcProfileEntry("Settings", "RecentFile1", ""), // LC_PROFILE_RECENT_FILE1
|
||||||
lcProfileEntry("Settings", "RecentFile2", ""), // LC_PROFILE_RECENT_FILE2
|
lcProfileEntry("Settings", "RecentFile2", ""), // LC_PROFILE_RECENT_FILE2
|
||||||
lcProfileEntry("Settings", "RecentFile3", ""), // LC_PROFILE_RECENT_FILE3
|
lcProfileEntry("Settings", "RecentFile3", ""), // LC_PROFILE_RECENT_FILE3
|
||||||
lcProfileEntry("Settings", "RecentFile4", ""), // LC_PROFILE_RECENT_FILE4
|
lcProfileEntry("Settings", "RecentFile4", ""), // LC_PROFILE_RECENT_FILE4
|
||||||
lcProfileEntry("Settings", "AutosaveInterval", 10), // LC_PROFILE_AUTOSAVE_INTERVAL
|
lcProfileEntry("Settings", "AutosaveInterval", 10), // LC_PROFILE_AUTOSAVE_INTERVAL
|
||||||
lcProfileEntry("Settings", "MouseSensitivity", 11), // LC_PROFILE_MOUSE_SENSITIVITY
|
lcProfileEntry("Settings", "MouseSensitivity", 11), // LC_PROFILE_MOUSE_SENSITIVITY
|
||||||
lcProfileEntry("Settings", "ImageWidth", 1280), // LC_PROFILE_IMAGE_WIDTH
|
lcProfileEntry("Settings", "ImageWidth", 1280), // LC_PROFILE_IMAGE_WIDTH
|
||||||
lcProfileEntry("Settings", "ImageHeight", 720), // LC_PROFILE_IMAGE_HEIGHT
|
lcProfileEntry("Settings", "ImageHeight", 720), // LC_PROFILE_IMAGE_HEIGHT
|
||||||
lcProfileEntry("Settings", "ImageExtension", ".png"), // LC_PROFILE_IMAGE_EXTENSION
|
lcProfileEntry("Settings", "ImageExtension", ".png"), // LC_PROFILE_IMAGE_EXTENSION
|
||||||
lcProfileEntry("Settings", "PrintRows", 1), // LC_PROFILE_PRINT_ROWS
|
lcProfileEntry("Settings", "PrintRows", 1), // LC_PROFILE_PRINT_ROWS
|
||||||
lcProfileEntry("Settings", "PrintColumns", 1), // LC_PROFILE_PRINT_COLUMNS
|
lcProfileEntry("Settings", "PrintColumns", 1), // LC_PROFILE_PRINT_COLUMNS
|
||||||
lcProfileEntry("Settings", "PartsListIcons", 64), // LC_PROFILE_PARTS_LIST_ICONS
|
lcProfileEntry("Settings", "PartsListIcons", 64), // LC_PROFILE_PARTS_LIST_ICONS
|
||||||
lcProfileEntry("Settings", "PartsListNames", 0), // LC_PROFILE_PARTS_LIST_NAMES
|
lcProfileEntry("Settings", "PartsListNames", 0), // LC_PROFILE_PARTS_LIST_NAMES
|
||||||
lcProfileEntry("Settings", "PartsListFixedColor", -1), // LC_PROFILE_PARTS_LIST_FIXED_COLOR
|
lcProfileEntry("Settings", "PartsListFixedColor", -1), // LC_PROFILE_PARTS_LIST_FIXED_COLOR
|
||||||
lcProfileEntry("Settings", "PartsListDecorated", 1), // LC_PROFILE_PARTS_LIST_DECORATED
|
lcProfileEntry("Settings", "PartsListDecorated", 1), // LC_PROFILE_PARTS_LIST_DECORATED
|
||||||
lcProfileEntry("Settings", "PartsListListMode", 0), // LC_PROFILE_PARTS_LIST_LISTMODE
|
lcProfileEntry("Settings", "PartsListListMode", 0), // LC_PROFILE_PARTS_LIST_LISTMODE
|
||||||
|
|
||||||
lcProfileEntry("Defaults", "Author", ""), // LC_PROFILE_DEFAULT_AUTHOR_NAME
|
lcProfileEntry("Defaults", "Author", ""), // LC_PROFILE_DEFAULT_AUTHOR_NAME
|
||||||
lcProfileEntry("Defaults", "FloorColor", LC_RGB(0, 191, 0)), // LC_PROFILE_DEFAULT_FLOOR_COLOR
|
lcProfileEntry("Defaults", "FloorColor", LC_RGB(0, 191, 0)), // LC_PROFILE_DEFAULT_FLOOR_COLOR
|
||||||
lcProfileEntry("Defaults", "FloorTexture", ""), // LC_PROFILE_DEFAULT_FLOOR_TEXTURE
|
lcProfileEntry("Defaults", "FloorTexture", ""), // LC_PROFILE_DEFAULT_FLOOR_TEXTURE
|
||||||
lcProfileEntry("Defaults", "AmbientColor", LC_RGB(75, 75, 75)), // LC_PROFILE_DEFAULT_AMBIENT_COLOR
|
lcProfileEntry("Defaults", "AmbientColor", LC_RGB(75, 75, 75)), // LC_PROFILE_DEFAULT_AMBIENT_COLOR
|
||||||
lcProfileEntry("Defaults", "BackgroundType", LC_BACKGROUND_SOLID), // LC_PROFILE_DEFAULT_BACKGROUND_TYPE
|
lcProfileEntry("Defaults", "BackgroundType", LC_BACKGROUND_SOLID), // LC_PROFILE_DEFAULT_BACKGROUND_TYPE
|
||||||
lcProfileEntry("Defaults", "BackgroundColor", LC_RGB(255, 255, 255)), // LC_PROFILE_DEFAULT_BACKGROUND_COLOR
|
lcProfileEntry("Defaults", "BackgroundColor", LC_RGB(255, 255, 255)), // LC_PROFILE_DEFAULT_BACKGROUND_COLOR
|
||||||
lcProfileEntry("Defaults", "GradientColor1", LC_RGB(0, 0, 191)), // LC_PROFILE_DEFAULT_GRADIENT_COLOR1
|
lcProfileEntry("Defaults", "GradientColor1", LC_RGB(0, 0, 191)), // LC_PROFILE_DEFAULT_GRADIENT_COLOR1
|
||||||
lcProfileEntry("Defaults", "GradientColor2", LC_RGB(255, 255, 255)), // LC_PROFILE_DEFAULT_GRADIENT_COLOR2
|
lcProfileEntry("Defaults", "GradientColor2", LC_RGB(255, 255, 255)), // LC_PROFILE_DEFAULT_GRADIENT_COLOR2
|
||||||
lcProfileEntry("Defaults", "BackgroundTexture", ""), // LC_PROFILE_DEFAULT_BACKGROUND_TEXTURE
|
lcProfileEntry("Defaults", "BackgroundTexture", ""), // LC_PROFILE_DEFAULT_BACKGROUND_TEXTURE
|
||||||
lcProfileEntry("Defaults", "BackgroundTile", 0), // LC_PROFILE_DEFAULT_BACKGROUND_TILE
|
lcProfileEntry("Defaults", "BackgroundTile", 0), // LC_PROFILE_DEFAULT_BACKGROUND_TILE
|
||||||
|
|
||||||
lcProfileEntry("HTML", "Options", LC_HTML_SINGLEPAGE), // LC_PROFILE_HTML_OPTIONS
|
lcProfileEntry("HTML", "Options", LC_HTML_SINGLEPAGE), // LC_PROFILE_HTML_OPTIONS
|
||||||
lcProfileEntry("HTML", "ImageOptions", LC_IMAGE_TRANSPARENT), // LC_PROFILE_HTML_IMAGE_OPTIONS
|
lcProfileEntry("HTML", "ImageOptions", LC_IMAGE_TRANSPARENT), // LC_PROFILE_HTML_IMAGE_OPTIONS
|
||||||
lcProfileEntry("HTML", "ImageWidth", 640), // LC_PROFILE_HTML_IMAGE_WIDTH
|
lcProfileEntry("HTML", "ImageWidth", 640), // LC_PROFILE_HTML_IMAGE_WIDTH
|
||||||
lcProfileEntry("HTML", "ImageHeight", 480), // LC_PROFILE_HTML_IMAGE_HEIGHT
|
lcProfileEntry("HTML", "ImageHeight", 480), // LC_PROFILE_HTML_IMAGE_HEIGHT
|
||||||
lcProfileEntry("HTML", "PartsColor", 16), // LC_PROFILE_HTML_PARTS_COLOR
|
lcProfileEntry("HTML", "PartsColor", 16), // LC_PROFILE_HTML_PARTS_COLOR
|
||||||
lcProfileEntry("HTML", "PartsWidth", 128), // LC_PROFILE_HTML_PARTS_WIDTH
|
lcProfileEntry("HTML", "PartsWidth", 128), // LC_PROFILE_HTML_PARTS_WIDTH
|
||||||
lcProfileEntry("HTML", "PartsHeight", 128), // LC_PROFILE_HTML_PARTS_HEIGHT
|
lcProfileEntry("HTML", "PartsHeight", 128), // LC_PROFILE_HTML_PARTS_HEIGHT
|
||||||
|
|
||||||
lcProfileEntry("POVRay", "Path", "/usr/bin/povray"), // LC_PROFILE_POVRAY_PATH
|
lcProfileEntry("POVRay", "Path", "/usr/bin/povray"), // LC_PROFILE_POVRAY_PATH
|
||||||
lcProfileEntry("POVRay", "LGEOPath", ""), // LC_PROFILE_POVRAY_LGEO_PATH
|
lcProfileEntry("POVRay", "LGEOPath", ""), // LC_PROFILE_POVRAY_LGEO_PATH
|
||||||
lcProfileEntry("POVRay", "Width", 1280), // LC_PROFILE_POVRAY_WIDTH
|
lcProfileEntry("POVRay", "Width", 1280), // LC_PROFILE_POVRAY_WIDTH
|
||||||
lcProfileEntry("POVRay", "Height", 720) // LC_PROFILE_POVRAY_HEIGHT
|
lcProfileEntry("POVRay", "Height", 720) // LC_PROFILE_POVRAY_HEIGHT
|
||||||
};
|
};
|
||||||
|
|
||||||
void lcRemoveProfileKey(LC_PROFILE_KEY Key)
|
void lcRemoveProfileKey(LC_PROFILE_KEY Key)
|
||||||
|
|
|
@ -14,6 +14,8 @@ enum LC_PROFILE_KEY
|
||||||
LC_PROFILE_GRID_LINE_SPACING,
|
LC_PROFILE_GRID_LINE_SPACING,
|
||||||
LC_PROFILE_GRID_LINE_COLOR,
|
LC_PROFILE_GRID_LINE_COLOR,
|
||||||
LC_PROFILE_ANTIALIASING_SAMPLES,
|
LC_PROFILE_ANTIALIASING_SAMPLES,
|
||||||
|
LC_PROFILE_VIEW_CUBE_LOCATION,
|
||||||
|
LC_PROFILE_VIEW_CUBE_SIZE,
|
||||||
|
|
||||||
LC_PROFILE_CHECK_UPDATES,
|
LC_PROFILE_CHECK_UPDATES,
|
||||||
LC_PROFILE_PROJECTS_PATH,
|
LC_PROFILE_PROJECTS_PATH,
|
||||||
|
|
|
@ -3,9 +3,9 @@
|
||||||
#include "view.h"
|
#include "view.h"
|
||||||
#include "lc_context.h"
|
#include "lc_context.h"
|
||||||
#include "texfont.h"
|
#include "texfont.h"
|
||||||
|
#include "lc_application.h"
|
||||||
|
|
||||||
//todo: move these and add preferences
|
//todo: move these
|
||||||
const int ViewportSize = 100;
|
|
||||||
const float BoxSize = 10.0f;
|
const float BoxSize = 10.0f;
|
||||||
|
|
||||||
lcViewCube::lcViewCube(View* View)
|
lcViewCube::lcViewCube(View* View)
|
||||||
|
@ -28,11 +28,20 @@ lcMatrix44 lcViewCube::GetProjectionMatrix() const
|
||||||
|
|
||||||
void lcViewCube::Draw()
|
void lcViewCube::Draw()
|
||||||
{
|
{
|
||||||
|
const lcPreferences& Preferences = lcGetPreferences();
|
||||||
|
lcViewCubeLocation Location = Preferences.mViewCubeLocation;
|
||||||
|
|
||||||
|
if (Location == lcViewCubeLocation::DISABLED)
|
||||||
|
return;
|
||||||
|
|
||||||
lcContext* Context = mView->mContext;
|
lcContext* Context = mView->mContext;
|
||||||
int Width = mView->mWidth;
|
int Width = mView->mWidth;
|
||||||
int Height = mView->mHeight;
|
int Height = mView->mHeight;
|
||||||
|
int ViewportSize = Preferences.mViewCubeSize;
|
||||||
|
|
||||||
Context->SetViewport(Width - ViewportSize, Height - ViewportSize, ViewportSize, ViewportSize);
|
int Left = (Location == lcViewCubeLocation::BOTTOM_LEFT || Location == lcViewCubeLocation::TOP_LEFT) ? 0 : Width - ViewportSize;
|
||||||
|
int Bottom = (Location == lcViewCubeLocation::BOTTOM_LEFT || Location == lcViewCubeLocation::BOTTOM_RIGHT) ? 0 : Height - ViewportSize;
|
||||||
|
Context->SetViewport(Left, Bottom, ViewportSize, ViewportSize);
|
||||||
|
|
||||||
const lcVector3 BoxVerts[8] =
|
const lcVector3 BoxVerts[8] =
|
||||||
{
|
{
|
||||||
|
@ -226,6 +235,10 @@ void lcViewCube::Draw()
|
||||||
|
|
||||||
bool lcViewCube::OnLeftButtonUp()
|
bool lcViewCube::OnLeftButtonUp()
|
||||||
{
|
{
|
||||||
|
const lcPreferences& Preferences = lcGetPreferences();
|
||||||
|
if (Preferences.mViewCubeLocation == lcViewCubeLocation::DISABLED)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (!mIntersectionFlags.any())
|
if (!mIntersectionFlags.any())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -246,12 +259,21 @@ bool lcViewCube::OnLeftButtonUp()
|
||||||
|
|
||||||
bool lcViewCube::OnMouseMove()
|
bool lcViewCube::OnMouseMove()
|
||||||
{
|
{
|
||||||
int x = mView->mInputState.x;
|
const lcPreferences& Preferences = lcGetPreferences();
|
||||||
int y = mView->mInputState.y;
|
lcViewCubeLocation Location = Preferences.mViewCubeLocation;
|
||||||
|
|
||||||
|
if (Location == lcViewCubeLocation::DISABLED)
|
||||||
|
return false;
|
||||||
|
|
||||||
int Width = mView->mWidth;
|
int Width = mView->mWidth;
|
||||||
int Height = mView->mHeight;
|
int Height = mView->mHeight;
|
||||||
|
int ViewportSize = Preferences.mViewCubeSize;
|
||||||
|
int Left = (Location == lcViewCubeLocation::BOTTOM_LEFT || Location == lcViewCubeLocation::TOP_LEFT) ? 0 : Width - ViewportSize;
|
||||||
|
int Bottom = (Location == lcViewCubeLocation::BOTTOM_LEFT || Location == lcViewCubeLocation::BOTTOM_RIGHT) ? 0 : Height - ViewportSize;
|
||||||
|
int x = mView->mInputState.x - Left;
|
||||||
|
int y = mView->mInputState.y - Bottom;
|
||||||
|
|
||||||
if (x < Width - ViewportSize || x > Width || y < Height - ViewportSize || y > Height)
|
if (x < 0 || x > Width || y < 0 || y > Height)
|
||||||
{
|
{
|
||||||
if (mIntersectionFlags.any())
|
if (mIntersectionFlags.any())
|
||||||
{
|
{
|
||||||
|
@ -262,9 +284,6 @@ bool lcViewCube::OnMouseMove()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
x -= Width - ViewportSize;
|
|
||||||
y -= Height - ViewportSize;
|
|
||||||
|
|
||||||
lcVector3 StartEnd[2] = { lcVector3(x, y, 0), lcVector3(x, y, 1) };
|
lcVector3 StartEnd[2] = { lcVector3(x, y, 0), lcVector3(x, y, 1) };
|
||||||
const int Viewport[4] = { 0, 0, ViewportSize, ViewportSize };
|
const int Viewport[4] = { 0, 0, ViewportSize, ViewportSize };
|
||||||
|
|
||||||
|
|
|
@ -55,6 +55,8 @@ lcQPreferencesDialog::lcQPreferencesDialog(QWidget *parent, void *data) :
|
||||||
ui->gridLines->setChecked(options->Preferences.mDrawGridLines);
|
ui->gridLines->setChecked(options->Preferences.mDrawGridLines);
|
||||||
ui->gridLineSpacing->setText(QString::number(options->Preferences.mGridLineSpacing));
|
ui->gridLineSpacing->setText(QString::number(options->Preferences.mGridLineSpacing));
|
||||||
ui->axisIcon->setChecked(options->Preferences.mDrawAxes);
|
ui->axisIcon->setChecked(options->Preferences.mDrawAxes);
|
||||||
|
ui->ViewCubeLocationCombo->setCurrentIndex((int)options->Preferences.mViewCubeLocation);
|
||||||
|
ui->ViewCubeSizeEdit->setText(QString::number(options->Preferences.mViewCubeSize));
|
||||||
|
|
||||||
if (!gSupportsShaderObjects)
|
if (!gSupportsShaderObjects)
|
||||||
ui->ShadingMode->removeItem(LC_SHADING_DEFAULT_LIGHTS);
|
ui->ShadingMode->removeItem(LC_SHADING_DEFAULT_LIGHTS);
|
||||||
|
@ -132,6 +134,8 @@ void lcQPreferencesDialog::accept()
|
||||||
options->Preferences.mGridLineSpacing = gridLineSpacing;
|
options->Preferences.mGridLineSpacing = gridLineSpacing;
|
||||||
|
|
||||||
options->Preferences.mDrawAxes = ui->axisIcon->isChecked();
|
options->Preferences.mDrawAxes = ui->axisIcon->isChecked();
|
||||||
|
options->Preferences.mViewCubeLocation = (lcViewCubeLocation)ui->ViewCubeLocationCombo->currentIndex();
|
||||||
|
options->Preferences.mViewCubeSize = ui->ViewCubeSizeEdit->text().toInt();
|
||||||
options->Preferences.mShadingMode = (lcShadingMode)ui->ShadingMode->currentIndex();
|
options->Preferences.mShadingMode = (lcShadingMode)ui->ShadingMode->currentIndex();
|
||||||
|
|
||||||
QDialog::accept();
|
QDialog::accept();
|
||||||
|
|
|
@ -324,6 +324,61 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="ViewCubeGroup">
|
||||||
|
<property name="title">
|
||||||
|
<string>View Cube</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="text">
|
||||||
|
<string>Location</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QComboBox" name="ViewCubeLocationCombo">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Disabled</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Top Left</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Top Right</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Bottom Left</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Bottom Right</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_8">
|
||||||
|
<property name="text">
|
||||||
|
<string>Size</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLineEdit" name="ViewCubeSizeEdit"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer">
|
<spacer name="verticalSpacer">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
@ -873,6 +928,8 @@
|
||||||
<tabstop>gridLines</tabstop>
|
<tabstop>gridLines</tabstop>
|
||||||
<tabstop>gridLineSpacing</tabstop>
|
<tabstop>gridLineSpacing</tabstop>
|
||||||
<tabstop>gridLineColor</tabstop>
|
<tabstop>gridLineColor</tabstop>
|
||||||
|
<tabstop>ViewCubeLocationCombo</tabstop>
|
||||||
|
<tabstop>ViewCubeSizeEdit</tabstop>
|
||||||
<tabstop>categoriesTree</tabstop>
|
<tabstop>categoriesTree</tabstop>
|
||||||
<tabstop>partsTree</tabstop>
|
<tabstop>partsTree</tabstop>
|
||||||
<tabstop>importCategories</tabstop>
|
<tabstop>importCategories</tabstop>
|
||||||
|
|
Loading…
Reference in a new issue