Entropy Piano Tuner  1.1.3 (documentation not yet complete)
An open-source experimental software for piano tuning by entropy minimization
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
graphicsitem.cpp
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright 2015 Haye Hinrichsen, Christoph Wick
3  *
4  * This file is part of Entropy Piano Tuner.
5  *
6  * Entropy Piano Tuner is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * Entropy Piano Tuner is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14  * more details.
15  *
16  * You should have received a copy of the GNU General Public License along with
17  * Entropy Piano Tuner. If not, see http://www.gnu.org/licenses/.
18  *****************************************************************************/
19 
20 //============================================================================
21 // Abstract class of a Graphics Item
22 //============================================================================
23 
24 #include "graphicsitem.h"
25 #include "drawerbase.h"
26 
27 //-----------------------------------------------------------------------------
28 // Constructor
29 //-----------------------------------------------------------------------------
30 
32  mGraphicsView(graphicsView),
33  mKeyIndex(-1),
34  mRole(0)
35 {
36  mGraphicsView->getGraphicItems().push_back(this);
37 }
38 
39 
40 //-----------------------------------------------------------------------------
41 // Destructor
42 //-----------------------------------------------------------------------------
43 
45  mGraphicsView->getGraphicItems().remove(this);
46 }
47 
48 
49 //-----------------------------------------------------------------------------
50 // Set index and role
51 //-----------------------------------------------------------------------------
52 
54 {
55  setItemRole(role);
56  setKeyIndex(index);
57 }
58 
std::uint32_t RoleType
Type of a user role that can be set in a GraphicsItem (bitwise flag).
Definition: graphicsitem.h:62
void setItemRole(RoleType role)
Setter function for mRole.
Definition: graphicsitem.h:104
virtual ~GraphicsItem()
Virtual Destructor.
GraphicItemsList & getGraphicItems()
Get the list of the graphic items.
GraphicsItem(GraphicsViewAdapter *graphicsView)
Constructor.
GraphicsViewAdapter * mGraphicsView
Pointer to the parent GraphicsViewAdapter.
Definition: graphicsitem.h:142
Abstract base class for implementations rendering graphics.
void setKeyIndexAndItemRole(int index, RoleType role)
Short function for setting the key index and the role.
void setKeyIndex(int index)
Setter for mKeyIndex.
Definition: graphicsitem.h:92