* view->show: toggle crosshair, size, grid are check menu items
	* view->show: +Show Light Radiuses toggle
	* view->show->show stats makes effect immediately
	* view->show fix: check menu items are sensitive to changing options via shortcuts

misc...
	* option to disable main toolbar
	* removed bobtoolz caulk selection button; filterbar one does the job better
	* filterbar: + region set selected button; rightclick = region off
	* filterbar: + hide selected button; rightclick = show hidden
	* SelectionSystem option: prefer point entities in 2D views (def = yes)
	* filterbar: indicate region, hide states by buttons states
	* fix: region compiles (run build with region enabled = compile regioned part only)
	* solid selection boxes by default (m_bNoStipple)
	* always use stipple for stuff behind stuff in 3d (was dependent on m_bNoStipple)
	* del unused ChooseSmallGridMajorColor ChooseSmallGridMinorColor preferences pipeline
	* fix: Active View Name and Outline... Clipper... colors saving
	* fix: ChooseCameraSelectedBrushColor changes the color (requires restart)
	* fix: ChooseSelectedBrushColor preference saving (requires restart)
	* fix rubberband selector appearence in 2D with 'show window outline' option enabled
	* multiple projections layouts: activate a projection on zoom
	* multiple projections layouts: added wnds updates to correctly indicate active projection (via wnd outline and projection name)
	* draw projection name is independent from show coordinates option
	* multiple projections layouts: greyscale axes in inactive views
	* 'show coordinates' is disabled by default
	* quick (hacky) method to render things, indicating viewport being active or not (axes, view name, wnd outline)
This commit is contained in:
Garux
2017-08-02 09:07:44 +03:00
parent cac514541c
commit 5a8c27d93c
17 changed files with 636 additions and 327 deletions

View File

@@ -705,12 +705,21 @@ void Select_FitTexture( float horizontal, float vertical ){
SceneChangeNotify();
}
#include "commands.h"
#include "dialog.h"
inline void hide_node( scene::Node& node, bool hide ){
hide
? node.enable( scene::Node::eHidden )
: node.disable( scene::Node::eHidden );
}
bool g_nodes_be_hidden = false;
BoolExportCaller g_hidden_caller( g_nodes_be_hidden );
ToggleItem g_hidden_item( g_hidden_caller );
class HideSelectedWalker : public scene::Graph::Walker
{
bool m_hide;
@@ -722,6 +731,7 @@ bool pre( const scene::Path& path, scene::Instance& instance ) const {
Selectable* selectable = Instance_getSelectable( instance );
if ( selectable != 0
&& selectable->isSelected() ) {
g_nodes_be_hidden = m_hide;
hide_node( path.top(), m_hide );
}
return true;
@@ -740,6 +750,7 @@ void Select_Hide(){
void HideSelected(){
Select_Hide();
GlobalSelectionSystem().setSelectedAll( false );
g_hidden_item.update();
}
@@ -763,6 +774,13 @@ void Scene_Hide_All( bool hide ){
void Select_ShowAllHidden(){
Scene_Hide_All( false );
SceneChangeNotify();
g_nodes_be_hidden = false;
g_hidden_item.update();
}
void Hide_registerCommands(){
GlobalCommands_insert( "ShowHidden", FreeCaller<Select_ShowAllHidden>(), Accelerator( 'H', (GdkModifierType)GDK_SHIFT_MASK ) );
GlobalToggles_insert( "HideSelected", FreeCaller<HideSelected>(), ToggleItem::AddCallbackCaller( g_hidden_item ), Accelerator( 'H' ) );
}