ROOT logo
// Author: Mihai Niculescu 2013

/**************************************************************************
 * Copyright(c) 1998-2009, ALICE Experiment at CERN, all rights reserved. *
 * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for          *
 * full copyright notice.                                                 *
 **************************************************************************/

#ifndef AliEveMainWindow_H
#define AliEveMainWindow_H

#include <TGFrame.h>

class TEveManager;
class TGMenuBar;
class TGPicturePool;
class TGPopupMenu;
class TGToolBar;
class AliEveMainWindow;
class AliEveFileDialog;

// AliEveMainWindow
//

class AliEveMainWindow : public TGMainFrame
{
public:
    AliEveMainWindow(const char* title, UInt_t width=800, UInt_t height=600);
    ~AliEveMainWindow();
// Items IDs for MenuBar
enum MENU_ITEM_IDS
{   // File Menu
    MENU_FILE_OPEN=0,
    MENU_FILE_OPEN_URL,
    MENU_FILE_OPEN_CONNECTION,
    MENU_FILE_EXPORT_VIEWS,
    MENU_FILE_EXIT,
    // Edit Menu
    MENU_EDIT_UNDO,
    MENU_EDIT_REDO,
    MENU_EDIT_CUT,
    MENU_EDIT_COPY,
    MENU_EDIT_PASTE,
    MENU_EDIT_DELETE,
    MENU_EDIT_PROP,
    // View Menu
    MENU_VIEW_TOOLBAR_MAIN,
    MENU_VIEW_TOOLBAR_NAV, // event navigation toolbar
    MENU_VIEW_TOOLBAR_PROP, // Properties Sidebar - event info, objects list, etc...
    MENU_VIEW_TOOLBAR_HIST, // History sidebar
    MENU_VIEW_RELOAD,
    MENU_VIEW_ZOOM_IN,
    MENU_VIEW_ZOOM_OUT,
    MENU_VIEW_ZOOM_RESET,
    // Go Menu
    MENU_GO_NEXT_EVENT,
    MENU_GO_PREV_EVENT,
    MENU_GO_FIRST_EVENT,
    MENU_GO_LAST_EVENT,
    MENU_GO_PLAY,
    // History Menu
    MENU_HIST_SHOW_ALL,
    MENU_HIST_CLEAR_RECENT,
    // Tools Menu
    MENU_TOOLS_MACROS,
    MENU_TOOLS_QA,
    // Help Menu
    MENU_HELP_CONTENTS,
    MENU_HELP_ABOUT
};

public: // SLOTS
    void onMenuFileItem(UInt_t id);
    void onMenuEditItem(UInt_t id);
    void onMenuViewItem(UInt_t id);
    void onMenuGoItem(UInt_t id);

protected:
    void setupMenus();
    void setupToolbars();

    void loadFiles();

private:
    AliEveMainWindow(const AliEveMainWindow& other);// Not implemented
    AliEveMainWindow& operator=(const AliEveMainWindow& other);


    // Menubar
    TGMenuBar* fMenuBar;
    TGPopupMenu *fMenuFile;
    TGPopupMenu *fMenuEdit;
    TGPopupMenu *fMenuView;
    TGPopupMenu *fMenuViewToolbars;
    TGPopupMenu *fMenuViewSidebars;
    TGPopupMenu *fMenuGo;
    TGPopupMenu *fMenuTools;
    TGPopupMenu *fMenuHelp;

    // Toolbar
    TGToolBar *fToolBar;

    TGPicturePool* fPicturePool;

//    TEveManager* fEve;
    AliEveFileDialog* fFileDialog;

    ClassDef(AliEveMainWindow, 0); // Short description.
};

#endif

 AliEveMainWindow.h:1
 AliEveMainWindow.h:2
 AliEveMainWindow.h:3
 AliEveMainWindow.h:4
 AliEveMainWindow.h:5
 AliEveMainWindow.h:6
 AliEveMainWindow.h:7
 AliEveMainWindow.h:8
 AliEveMainWindow.h:9
 AliEveMainWindow.h:10
 AliEveMainWindow.h:11
 AliEveMainWindow.h:12
 AliEveMainWindow.h:13
 AliEveMainWindow.h:14
 AliEveMainWindow.h:15
 AliEveMainWindow.h:16
 AliEveMainWindow.h:17
 AliEveMainWindow.h:18
 AliEveMainWindow.h:19
 AliEveMainWindow.h:20
 AliEveMainWindow.h:21
 AliEveMainWindow.h:22
 AliEveMainWindow.h:23
 AliEveMainWindow.h:24
 AliEveMainWindow.h:25
 AliEveMainWindow.h:26
 AliEveMainWindow.h:27
 AliEveMainWindow.h:28
 AliEveMainWindow.h:29
 AliEveMainWindow.h:30
 AliEveMainWindow.h:31
 AliEveMainWindow.h:32
 AliEveMainWindow.h:33
 AliEveMainWindow.h:34
 AliEveMainWindow.h:35
 AliEveMainWindow.h:36
 AliEveMainWindow.h:37
 AliEveMainWindow.h:38
 AliEveMainWindow.h:39
 AliEveMainWindow.h:40
 AliEveMainWindow.h:41
 AliEveMainWindow.h:42
 AliEveMainWindow.h:43
 AliEveMainWindow.h:44
 AliEveMainWindow.h:45
 AliEveMainWindow.h:46
 AliEveMainWindow.h:47
 AliEveMainWindow.h:48
 AliEveMainWindow.h:49
 AliEveMainWindow.h:50
 AliEveMainWindow.h:51
 AliEveMainWindow.h:52
 AliEveMainWindow.h:53
 AliEveMainWindow.h:54
 AliEveMainWindow.h:55
 AliEveMainWindow.h:56
 AliEveMainWindow.h:57
 AliEveMainWindow.h:58
 AliEveMainWindow.h:59
 AliEveMainWindow.h:60
 AliEveMainWindow.h:61
 AliEveMainWindow.h:62
 AliEveMainWindow.h:63
 AliEveMainWindow.h:64
 AliEveMainWindow.h:65
 AliEveMainWindow.h:66
 AliEveMainWindow.h:67
 AliEveMainWindow.h:68
 AliEveMainWindow.h:69
 AliEveMainWindow.h:70
 AliEveMainWindow.h:71
 AliEveMainWindow.h:72
 AliEveMainWindow.h:73
 AliEveMainWindow.h:74
 AliEveMainWindow.h:75
 AliEveMainWindow.h:76
 AliEveMainWindow.h:77
 AliEveMainWindow.h:78
 AliEveMainWindow.h:79
 AliEveMainWindow.h:80
 AliEveMainWindow.h:81
 AliEveMainWindow.h:82
 AliEveMainWindow.h:83
 AliEveMainWindow.h:84
 AliEveMainWindow.h:85
 AliEveMainWindow.h:86
 AliEveMainWindow.h:87
 AliEveMainWindow.h:88
 AliEveMainWindow.h:89
 AliEveMainWindow.h:90
 AliEveMainWindow.h:91
 AliEveMainWindow.h:92
 AliEveMainWindow.h:93
 AliEveMainWindow.h:94
 AliEveMainWindow.h:95
 AliEveMainWindow.h:96
 AliEveMainWindow.h:97
 AliEveMainWindow.h:98
 AliEveMainWindow.h:99
 AliEveMainWindow.h:100
 AliEveMainWindow.h:101
 AliEveMainWindow.h:102
 AliEveMainWindow.h:103
 AliEveMainWindow.h:104
 AliEveMainWindow.h:105
 AliEveMainWindow.h:106
 AliEveMainWindow.h:107
 AliEveMainWindow.h:108
 AliEveMainWindow.h:109
 AliEveMainWindow.h:110
 AliEveMainWindow.h:111
 AliEveMainWindow.h:112