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 AliEveFileDialog_H
#define AliEveFileDialog_H

#include <TString.h>
#include <TGFrame.h>

class TGComboBox;
class TGCheckButton;
class TGLabel;
class TGFileInfo;
class TGTextButton;
class TGTextEntry;

//______________________________________________________________________________
// AliEveMainWindow
//
enum EAliEveFileDialogMode
{
    kAliEveFDLocal,
    kAliEveFDRemote
};

class AliEveFileDialog : public TGTransientFrame
{
public:
    AliEveFileDialog(const TGWindow* p = 0, const TGWindow* main = 0, EAliEveFileDialogMode mode= kAliEveFDLocal);
    ~AliEveFileDialog();

    //const TString GetDirectory(); // directory where the ESD resides
    const TString GetPathESD() const;
    const TString GetPathESDfriend() const;
    const TString GetPathAOD() const;
    const TString GetPathAODfriend() const;
    const TString GetPathRaw() const;
    const TString GetUrl() const;
    UInt_t GetMode() const { return fMode; }

    const TString GetCDBStoragePath() const;

    void onBrowseESDFile();
    void onBrowseESDfriendFile();
    void onBrowseAODFile();
    void onBrowseAODfriendFile();
    void onBrowseRawFile();

    Bool_t accepted() const { return fIsAccepted; } // true if clicked the OK button, false otherwise

    void onAccept();// ok button was clicked
    void onReject();// cancel button was clicked

    void setMode(EAliEveFileDialogMode mode);
    void showAdvancedOpts(Bool_t shown=kTRUE);

    void CloseWindow();
    void MapWindow();
    void UnmapWindow();
    void MapSubwindows();
private:
    AliEveFileDialog(const AliEveFileDialog&);              // not implemented
    AliEveFileDialog& operator=(const AliEveFileDialog&);   // not implemented

    TGHorizontalFrame* fESDFilesFrame;
    TGCheckButton* fAdvancedOptsButton;
    
    TGGroupFrame* fAdvancedOptsFrame;
    TGHorizontalFrame* fESDfriendFilesFrame;
    TGHorizontalFrame* fAODFilesFrame;
    TGHorizontalFrame* fAODfriendFilesFrame;
    TGHorizontalFrame* fRawFilesFrame;
    TGHorizontalFrame* fUrlFrame;
    TGHorizontalFrame* fCDBFrame;
    TGHorizontalFrame* fDialogButtonsFrame;
    TGTextEntry* fPathEntryESD;
    TGTextEntry* fPathEntryESDfriend;
    TGTextEntry* fPathEntryAOD;
    TGTextEntry* fPathEntryAODfriend;
    TGTextEntry* fPathEntryRawFile;
    TGTextEntry* fPathEntryUrl; // remote file
    TGComboBox* fCDBPathCB;

    Bool_t fIsAccepted; // true if clicked OK, false otherwise
    EAliEveFileDialogMode fMode;

public:

    ClassDef(AliEveFileDialog, 0)
};

#endif

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