commit missing files
This commit is contained in:
57
src/noggit/Red/ViewToolbar/Ui/ViewToolbar.cpp
Normal file
57
src/noggit/Red/ViewToolbar/Ui/ViewToolbar.cpp
Normal file
@@ -0,0 +1,57 @@
|
||||
// This file is part of Noggit3, licensed under GNU General Public License (version 3).
|
||||
|
||||
#include <noggit/Red/ViewToolbar/Ui/ViewToolbar.hpp>
|
||||
#include <QSlider>
|
||||
|
||||
using namespace noggit::ui;
|
||||
using namespace noggit::Red::ViewToolbar::Ui;
|
||||
|
||||
ViewToolbar::ViewToolbar(MapView* mapView)
|
||||
: _tool_group(this)
|
||||
{
|
||||
setContextMenuPolicy(Qt::PreventContextMenu);
|
||||
setAllowedAreas(Qt::TopToolBarArea | Qt::BottomToolBarArea);
|
||||
|
||||
add_tool_icon(&mapView->_draw_models, tr("Doodads"), font_noggit::VISIBILITY_DOODADS);
|
||||
add_tool_icon(&mapView->_draw_wmo_doodads, tr("WMO doodads"), font_noggit::VISIBILITY_WMO_DOODADS);
|
||||
add_tool_icon(&mapView->_draw_terrain, tr("Terrain"), font_noggit::VISIBILITY_TERRAIN);
|
||||
add_tool_icon(&mapView->_draw_water, tr("Water"), font_noggit::VISIBILITY_WATER);
|
||||
add_tool_icon(&mapView->_draw_wmo, tr("WMOs"), font_noggit::VISIBILITY_WMO);
|
||||
addSeparator();
|
||||
|
||||
add_tool_icon(&mapView->_draw_lines, tr("Lines"), font_noggit::VISIBILITY_LINES);
|
||||
add_tool_icon(&mapView->_draw_contour, tr("Contours"), font_noggit::VISIBILITY_CONTOURS);
|
||||
add_tool_icon(&mapView->_draw_wireframe, tr("Wireframe"), font_noggit::VISIBILITY_WIREFRAME);
|
||||
add_tool_icon(&mapView->_draw_hole_lines, tr("Hole lines"), font_noggit::VISIBILITY_HOLE_LINES);
|
||||
addSeparator();
|
||||
|
||||
// Animation
|
||||
add_tool_icon(&mapView->_draw_fog, tr("Fog"), font_noggit::VISIBILITY_FOG);
|
||||
add_tool_icon(&mapView->_draw_mfbo, tr("Flight bounds"), font_noggit::VISIBILITY_FLIGHT_BOUNDS);
|
||||
addSeparator();
|
||||
|
||||
// Hole lines always on
|
||||
add_tool_icon(&mapView->_draw_models_with_box, tr("Models with box"), font_noggit::VISIBILITY_WITH_BOX);
|
||||
add_tool_icon(&mapView->_draw_hidden_models, tr("Hidden models"), font_noggit::VISIBILITY_HIDDEN_MODELS);
|
||||
|
||||
auto tablet_sensitivity = new QSlider(this);
|
||||
tablet_sensitivity->setOrientation(Qt::Horizontal);
|
||||
addWidget(tablet_sensitivity);
|
||||
}
|
||||
|
||||
void ViewToolbar::add_tool_icon(noggit::bool_toggle_property* view_state, const QString& name, const font_noggit::icons& icon)
|
||||
{
|
||||
auto action = addAction(font_noggit_icon{icon}, name);
|
||||
|
||||
connect (action, &QAction::triggered, [this, action, view_state] () {
|
||||
action->setChecked(!view_state->get());
|
||||
view_state->set(!view_state->get());
|
||||
});
|
||||
|
||||
connect (view_state, &noggit::bool_toggle_property::changed, [this, action, view_state] () {
|
||||
action->setChecked(view_state->get());
|
||||
});
|
||||
|
||||
action->setCheckable(true);
|
||||
action->setChecked(view_state->get());
|
||||
}
|
||||
28
src/noggit/Red/ViewToolbar/Ui/ViewToolbar.hpp
Normal file
28
src/noggit/Red/ViewToolbar/Ui/ViewToolbar.hpp
Normal file
@@ -0,0 +1,28 @@
|
||||
// This file is part of Noggit3, licensed under GNU General Public License (version 3).
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
|
||||
#include <QtWidgets/QActionGroup>
|
||||
#include <QtWidgets/QToolBar>
|
||||
|
||||
#include <noggit/MapView.h>
|
||||
#include <noggit/ui/font_noggit.hpp>
|
||||
#include <noggit/bool_toggle_property.hpp>
|
||||
|
||||
namespace noggit
|
||||
{
|
||||
namespace Red::ViewToolbar::Ui
|
||||
{
|
||||
class ViewToolbar: public QToolBar
|
||||
{
|
||||
public:
|
||||
ViewToolbar(MapView* mapView);
|
||||
|
||||
private:
|
||||
QActionGroup _tool_group;
|
||||
void add_tool_icon(noggit::bool_toggle_property* view_state, const QString& name, const noggit::ui::font_noggit::icons& icon);
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,9 @@ namespace noggit
|
||||
: _set_editing_mode (set_editing_mode)
|
||||
, _tool_group(this)
|
||||
{
|
||||
setContextMenuPolicy(Qt::PreventContextMenu);
|
||||
setAllowedAreas(Qt::LeftToolBarArea);
|
||||
|
||||
add_tool_icon (editing_mode::ground, tr("Raise / Lower"), font_noggit::TOOL_RAISE_LOWER);
|
||||
add_tool_icon (editing_mode::flatten_blur, tr("Flatten / Blur"), font_noggit::TOOL_FLATTEN_BLUR);
|
||||
add_tool_icon (editing_mode::paint, tr("Texture Painter"), font_noggit::TOOL_TEXTURE_PAINT);
|
||||
|
||||
@@ -88,9 +88,9 @@ namespace noggit
|
||||
VISIBILITY_WMO_DOODADS = 0xf8aa,
|
||||
VISIBILITY_DOODADS = 0xf8ab,
|
||||
VISIBILITY_WITH_BOX = 0xf8ac,
|
||||
UNUSED_1 = 0xf8ad,
|
||||
VISIBILITY_LINES = 0xf8ad,
|
||||
VISIBILITY_TERRAIN = 0xf8ae,
|
||||
VISIBILITY_LINES = 0xf8af,
|
||||
VISIBILITY_HOLE_LINES = 0xf8af,
|
||||
VISIBILITY_WIREFRAME = 0xf8b0,
|
||||
VISIBILITY_CONTOURS = 0xf8b1,
|
||||
VISIBILITY_FOG = 0xf8b2,
|
||||
|
||||
Reference in New Issue
Block a user