MuseScore/mscore/editdrumset.h
anatoly-os 0214736c4c fix #271198: Add a more flexible way to choose noteheads in drumset for percussion instrument
Added "Custom" item to noteheads combobox, removed "invalid" item, set selection at the first tree element when opening the drumset editor, added interaction between custom noteheads group and notehead group combobox, fixed tab order.
Fixed drawing custom noteheads in preview window: Set cachedSymbol from current quarter note combobox value and added slot to update preview on chaning quarter value.
Fixed shadow note drawing: Apply specific notehead from drumset data.
2018-05-05 18:30:45 +02:00

77 lines
2.4 KiB
C++

//=============================================================================
// MuseScore
// Linux Music Score Editor
// $Id: editdrumset.h 4388 2011-06-18 13:17:58Z wschweer $
//
// Copyright (C) 2002-2009 Werner Schweer and others
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//=============================================================================
#ifndef __EDITDRUMSET_H__
#define __EDITDRUMSET_H__
#include "ui_editdrumset.h"
#include "libmscore/drumset.h"
namespace Ms {
//---------------------------------------------------------
// EditDrumset
//---------------------------------------------------------
class EditDrumset : public QDialog, private Ui::EditDrumsetBase {
Q_OBJECT
Drumset nDrumset;
void apply();
void updatePitchesList();
void refreshPitchesList();
void updateExample();
virtual void hideEvent(QHideEvent*);
void fillCustomNoteheadsDataFromComboboxes(int pitch);
void setCustomNoteheadsGUIEnabled(bool enabled);
void setEnabledPitchControls(bool enable);
void fillNoteheadsComboboxes(bool customGroup, int pitch);
private slots:
void bboxClicked(QAbstractButton* button);
void itemChanged(QTreeWidgetItem* current, QTreeWidgetItem* previous);
void nameChanged(const QString&);
void shortcutChanged();
void valueChanged();
void load();
void save();
void customGboxToggled(bool);
void customQuarterChanged(int);
public:
EditDrumset(const Drumset* ds, QWidget* parent = 0);
const Drumset* drumset() const { return &nDrumset; }
};
class EditDrumsetTreeWidgetItem : public QTreeWidgetItem {
public:
EditDrumsetTreeWidgetItem(QTreeWidget * parent)
: QTreeWidgetItem(parent) {};
virtual bool operator<(const QTreeWidgetItem & other) const;
};
} // namespace Ms
#endif