Web-based FileDialog.
web-based FileDialog.
Initial message send to client to configure layout.
Definition at line 38 of file RFileDialog.hxx.
| Public Types | |
| enum | EDialogTypes { kOpenFile , kSaveAs , kNewFile } | 
| Public Member Functions | |
| RFileDialog (EDialogTypes kind=kOpenFile, const std::string &title="", const std::string &fname="") | |
| constructor When title not specified, default will be used | |
| virtual | ~RFileDialog () | 
| destructor | |
| bool | GetCanChangePath () const | 
| Returns true if working path can be change with gui elements. | |
| const std::string & | GetFileName () const | 
| const auto & | GetNameFilters () const | 
| Returns array of name filters. | |
| std::string | GetSelectedFilter () const | 
| Returns selected filter Can differ from specified value - if it does not match to existing entry in NameFilters. | |
| const EDialogTypes & | GetType () const | 
| std::string | GetWorkingPath () const | 
| Returns current working path. | |
| void | Hide () | 
| Hide ROOT Browser. | |
| bool | IsCompleted () const | 
| void | SetCallback (RFileDialogCallback_t callback) | 
| Assign callback. | |
| void | SetCanChangePath (bool on=true) | 
| Configure if working path in dialog can be changed via gui elements. | |
| void | SetNameFilters (const std::vector< std::string > &arr) | 
| Set array of name filters like "Text files (*.txt)", "Any files (*)", "Image files (*png *.jpg)" Should be specified before starting dialog. | |
| void | SetSelectedFilter (const std::string &name) | 
| Configure selected filter Has to be one of the string from NameFilters entry. | |
| void | SetWorkingPath (const std::string &) | 
| Change current working path of file dialog If dialog already shown, change will be immediately applied. | |
| void | Show (const RWebDisplayArgs &args="") | 
| Show or update RFileDialog in web window If web window already started - just refresh it like "reload" button does Reset result of file selection (if any) | |
| Static Public Member Functions | |
| static std::shared_ptr< RFileDialog > | Embedded (const std::shared_ptr< RWebWindow > &window, const std::string &args) | 
| Create dialog instance to use as embedded dialog inside other widget Embedded dialog started on the client side where FileDialogController.SaveAs() method called Such method immediately send message with "FILEDIALOG:" prefix On the server side widget should detect such message and call RFileDialog::Embedded() providing received string as second argument. | |
| static std::string | NewFile (const std::string &title="", const std::string &fname="") | 
| Start NewFile dialog. | |
| static std::string | OpenFile (const std::string &title="", const std::string &fname="") | 
| Start OpenFile dialog. | |
| static std::string | SaveAs (const std::string &title="", const std::string &fname="") | 
| Start SaveAs dialog. | |
| Protected Member Functions | |
| std::string | GetRegexp (const std::string &name) const | 
| Returns regexp for selected filter String should have form "Filter name (*.ext1 *.ext2 ...) | |
| void | InvokeCallBack () | 
| Invoke specified callback. | |
| void | ProcessMsg (unsigned connid, const std::string &arg) | 
| Process received data from client. | |
| void | SendChPathMsg (unsigned connid) | 
| Sends new data after change current directory. | |
| void | SendInitMsg (unsigned connid) | 
| Sends initial message to the client. | |
| Static Protected Member Functions | |
| static std::string | Dialog (EDialogTypes kind, const std::string &title, const std::string &fname) | 
| Start specified dialog type. | |
| static std::string | TypeAsString (EDialogTypes kind) | 
| Returns dialog type as string String value used for configuring JS-side. | |
| Protected Attributes | |
| RBrowserData | fBrowsable | 
| ! central browsing element | |
| RFileDialogCallback_t | fCallback | 
| ! function receiving result, called once | |
| bool | fCanChangePath {true} | 
| ! if working path can be changed via gui elements | |
| bool | fDidSelect {false} | 
| ! true when dialog is selected or closed | |
| EDialogTypes | fKind {kOpenFile} | 
| ! dialog kind OpenFile, SaveAs, NewFile | |
| std::vector< std::string > | fNameFilters | 
| ! name filters | |
| std::string | fSelect | 
| ! result of file selection | |
| std::string | fSelectedFilter | 
| ! name of selected filter | |
| std::string | fTitle | 
| ! title, when not specified default will be used | |
| std::shared_ptr< RWebWindow > | fWebWindow | 
| ! web window for file dialog | |
#include <ROOT/RFileDialog.hxx>
| Enumerator | |
|---|---|
| kOpenFile | |
| kSaveAs | |
| kNewFile | |
Definition at line 41 of file RFileDialog.hxx.
| RFileDialog::RFileDialog | ( | EDialogTypes | kind = kOpenFile, | 
| const std::string & | title = "", | ||
| const std::string & | fname = "" | ||
| ) | 
constructor When title not specified, default will be used
Definition at line 43 of file RFileDialog.cxx.
| 
 | virtual | 
destructor
Definition at line 90 of file RFileDialog.cxx.
| 
 | staticprotected | 
Start specified dialog type.
Definition at line 374 of file RFileDialog.cxx.
| 
 | static | 
Create dialog instance to use as embedded dialog inside other widget Embedded dialog started on the client side where FileDialogController.SaveAs() method called Such method immediately send message with "FILEDIALOG:" prefix On the server side widget should detect such message and call RFileDialog::Embedded() providing received string as second argument.
Returned instance of shared_ptr<RFileDialog> may be used to assign callback when file is selected
Definition at line 427 of file RFileDialog.cxx.
| 
 | inline | 
Returns true if working path can be change with gui elements.
Definition at line 94 of file RFileDialog.hxx.
| 
 | inline | 
Definition at line 106 of file RFileDialog.hxx.
| 
 | inline | 
Returns array of name filters.
Definition at line 88 of file RFileDialog.hxx.
| 
 | protected | 
Returns regexp for selected filter String should have form "Filter name (*.ext1 *.ext2 ...)
Definition at line 191 of file RFileDialog.cxx.
| std::string RFileDialog::GetSelectedFilter | ( | ) | const | 
Returns selected filter Can differ from specified value - if it does not match to existing entry in NameFilters.
Definition at line 160 of file RFileDialog.cxx.
| 
 | inline | 
Definition at line 80 of file RFileDialog.hxx.
| std::string RFileDialog::GetWorkingPath | ( | ) | const | 
Returns current working path.
Definition at line 351 of file RFileDialog.cxx.
| void RFileDialog::Hide | ( | ) | 
Hide ROOT Browser.
Definition at line 127 of file RFileDialog.cxx.
| 
 | protected | 
Invoke specified callback.
Definition at line 360 of file RFileDialog.cxx.
| 
 | inline | 
Definition at line 105 of file RFileDialog.hxx.
| 
 | static | 
Start NewFile dialog.
Blocks until file name is selected or Cancel button is pressed Returns selected file name (or empty string)
Definition at line 414 of file RFileDialog.cxx.
| 
 | static | 
Start OpenFile dialog.
Blocks until file name is selected or Cancel button is pressed Returns selected file name (or empty string)
Definition at line 394 of file RFileDialog.cxx.
| 
 | protected | 
Process received data from client.
Definition at line 270 of file RFileDialog.cxx.
| 
 | static | 
Start SaveAs dialog.
Blocks until file name is selected or Cancel button is pressed Returns selected file name (or empty string)
Definition at line 404 of file RFileDialog.cxx.
| 
 | protected | 
Sends new data after change current directory.
Definition at line 255 of file RFileDialog.cxx.
| 
 | protected | 
Sends initial message to the client.
Definition at line 229 of file RFileDialog.cxx.
| void RFileDialog::SetCallback | ( | RFileDialogCallback_t | callback | ) | 
Assign callback.
Argument of callback is selected file name. If file was already selected, immediately call it
Definition at line 101 of file RFileDialog.cxx.
| 
 | inline | 
Configure if working path in dialog can be changed via gui elements.
Definition at line 91 of file RFileDialog.hxx.
| 
 | inline | 
Set array of name filters like "Text files (*.txt)", "Any files (*)", "Image files (*png *.jpg)" Should be specified before starting dialog.
Definition at line 86 of file RFileDialog.hxx.
| void RFileDialog::SetSelectedFilter | ( | const std::string & | name | ) | 
Configure selected filter Has to be one of the string from NameFilters entry.
Definition at line 151 of file RFileDialog.cxx.
| void RFileDialog::SetWorkingPath | ( | const std::string & | path | ) | 
Change current working path of file dialog If dialog already shown, change will be immediately applied.
Definition at line 337 of file RFileDialog.cxx.
| void RFileDialog::Show | ( | const RWebDisplayArgs & | args = "" | ) | 
Show or update RFileDialog in web window If web window already started - just refresh it like "reload" button does Reset result of file selection (if any)
Definition at line 113 of file RFileDialog.cxx.
| 
 | staticprotected | 
Returns dialog type as string String value used for configuring JS-side.
Definition at line 136 of file RFileDialog.cxx.
| 
 | protected | 
! central browsing element
Definition at line 51 of file RFileDialog.hxx.
| 
 | protected | 
! function receiving result, called once
Definition at line 60 of file RFileDialog.hxx.
| 
 | protected | 
! if working path can be changed via gui elements
Definition at line 52 of file RFileDialog.hxx.
| 
 | protected | 
! true when dialog is selected or closed
Definition at line 56 of file RFileDialog.hxx.
| 
 | protected | 
! dialog kind OpenFile, SaveAs, NewFile
Definition at line 49 of file RFileDialog.hxx.
| 
 | protected | 
! name filters
Definition at line 58 of file RFileDialog.hxx.
| 
 | protected | 
! result of file selection
Definition at line 59 of file RFileDialog.hxx.
| 
 | protected | 
! name of selected filter
Definition at line 57 of file RFileDialog.hxx.
| 
 | protected | 
! title, when not specified default will be used
Definition at line 50 of file RFileDialog.hxx.
| 
 | protected | 
! web window for file dialog
Definition at line 54 of file RFileDialog.hxx.