summaryrefslogtreecommitdiff
path: root/attic/muse_qt4_evolution/muse/master/masteredit.h
blob: e60f3a67167c0f666bfd56b174e05cd9df343940 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
//=============================================================================
//  MusE
//  Linux Music Editor
//  $Id:$
//
//  Copyright (C) 2002-2006 by 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 __MASTER_EDIT_H__
#define __MASTER_EDIT_H__

#include "editor.h"
#include "widgets/noteinfo.h"
#include "cobject.h"

class MasterCanvas;
class EditToolBar;

namespace AL {
      class Xml;
      };
using AL::Xml;

namespace Awl {
      class TempoEdit;
      class SigEdit;
      class PosLabel;
      class TempoLabel;
      };
using Awl::TempoEdit;
using Awl::SigEdit;
using Awl::PosLabel;
using Awl::TempoLabel;

//---------------------------------------------------------
//   MasterEdit
//---------------------------------------------------------

class MasterEdit : public Editor {
      Q_OBJECT
      Q_PROPERTY(int raster       READ raster     WRITE setRaster)
      Q_PROPERTY(QPoint canvasPos READ canvasPos  WRITE setCanvasPos)
      Q_PROPERTY(int tool         READ tool       WRITE setTool)
      Q_PROPERTY(double xmag      READ xmag       WRITE setXmag)
      Q_PROPERTY(double ymag      READ ymag       WRITE setYmag)

      EditToolBar* tools2;
      QAction* enableMasterAction;
      TempoEdit* curTempo;
      SigEdit* curSig;
      QComboBox* rasterLabel;
      QToolBar* tools;
      PosLabel* cursorPos;
      TempoLabel* tempo;

      int _raster;

      MasterCanvas* canvas() { return (MasterCanvas*)tcanvas; }

   private slots:
      void _setRaster(int);
      void posChanged(int idx, const AL::Pos& pos, bool);
      void setTempo(int);
      void songChanged(int);

   signals:
      void deleted(void*);

   public:
      MasterEdit();
      ~MasterEdit();
      void read(QDomNode);
      void write(Xml&) const;

      int raster() const { return _raster; }
      void setRaster(int val);
      QPoint canvasPos() const;
      void setCanvasPos(const QPoint&);
      double xmag() const;
      void setXmag(double val);
      double ymag() const;
      void setYmag(double val);
      int tool() const;
      void setTool(int);

      static int initRaster, initWidth, initHeight;
      static double initXmag, initYmag;

      static const int INIT_RASTER = 384;
      static const int INIT_WIDTH  = 650;
      static const int INIT_HEIGHT = 450;
      };

#endif