summaryrefslogtreecommitdiffstats
path: root/tools/trackeditor/code/main/trackeditor.h
blob: d48cba1dfa2336795bbdc704ca612cf587409940 (plain) (blame)
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
#include "precompiled/PCH.h"

#ifndef TRACK_EDITOR
#define TRACK_EDITOR

//This node exists as the top node of all the other TrackEditor types.
//See te_setup.mel for more details of how this is a node.
//There should only ever be one of these in the Hypergraph.

//This is the place where options will be stored also.

class TrackEditor
{
public:
    TrackEditor();
    ~TrackEditor();

    static const char*  Name;

    static bool Exists();
    static MStatus AddChild( MObject& obj );

    //These are the Track Editing functions and state.
    enum EditMode
    {
        OFF,
        EDIT,
        DISPLAY
    };

    static EditMode GetEditMode();

    static void SetDeleteTreelines( bool del );
    static bool GetDeleteTreelines();

protected:

    friend class TEStateChangeCommand;
    static EditMode sEditMode;
    static void SetEditMode( EditMode mode );

    static bool sDeleteTreelines;

private:
    static unsigned int sNodeAddedbackID;
    static unsigned int sWindowClosedCallbackID;

    static void NodeAddedCB( MObject& node, void* data );
    static void WindowClosedCB( void* data ); 
    static void CreateTrackEditorNode();
    static void CreateTileDisplayNode();
    static void RemoveTileDisplayNode();
};

//=============================================================================
// TrackEditor::SetDeleteTreelines
//=============================================================================
// Description: Comment
//
// Parameters:  ( bool del )
//
// Return:      void 
//
//=============================================================================
inline void TrackEditor::SetDeleteTreelines( bool del )
{
    sDeleteTreelines = del;
}

//=============================================================================
// TrackEditor::GetDeleteTreelines
//=============================================================================
// Description: Comment
//
// Parameters:  ()
//
// Return:      bool 
//
//=============================================================================
inline bool TrackEditor::GetDeleteTreelines()
{
    return sDeleteTreelines;
}

#endif