Mercurial > hg > svgui
view layer/ShowLayerCommand.h @ 1526:0f1601d870db
Rework PaneStack so that the options that generally aren't (or can't be) changed after construction are supplied to the constructor instead of being set through setter methods.
This is a more sensible way of doing things in general, but also a workaround for https://code.soundsoftware.ac.uk/issues/1930, a problem that arises when reinitialising hidden property boxes in a context in which they will never be visible at all.
author | Chris Cannam |
---|---|
date | Fri, 04 Oct 2019 13:51:24 +0100 |
parents | 05d614f6e46d |
children |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ /* Sonic Visualiser An audio file viewer and annotation editor. Centre for Digital Music, Queen Mary, University of London. This file copyright 2006 Chris Cannam. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information. */ #ifndef SV_SHOW_LAYER_COMMAND_H #define SV_SHOW_LAYER_COMMAND_H #include "base/Command.h" class ShowLayerCommand : public Command { public: ShowLayerCommand(View *view, Layer *layer, bool show, QString commandName) : m_view(view), m_layer(layer), m_show(show), m_name(commandName) { } void execute() override { m_layer->showLayer(m_view, m_show); } void unexecute() override { m_layer->showLayer(m_view, !m_show); } QString getName() const override { return m_name; } protected: View *m_view; Layer *m_layer; bool m_show; QString m_name; }; #endif