diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /sp/src/public/vgui_controls/FileOpenDialog.h | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'sp/src/public/vgui_controls/FileOpenDialog.h')
| -rw-r--r-- | sp/src/public/vgui_controls/FileOpenDialog.h | 320 |
1 files changed, 160 insertions, 160 deletions
diff --git a/sp/src/public/vgui_controls/FileOpenDialog.h b/sp/src/public/vgui_controls/FileOpenDialog.h index 1e96177d..bcaccf0f 100644 --- a/sp/src/public/vgui_controls/FileOpenDialog.h +++ b/sp/src/public/vgui_controls/FileOpenDialog.h @@ -1,160 +1,160 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose: Declaration of FileOpenDialog class, a generic open/save as file dialog
-//
-// $NoKeywords: $
-//===========================================================================//
-
-#ifndef FILEOPENDIALOG_H
-#define FILEOPENDIALOG_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "vgui_controls/Frame.h"
-
-namespace vgui
-{
-
-class FileCompletionEdit; // local
-class InputDialog;
-
-//-----------------------------------------------------------------------------
-// Purpose: generic open/save as file dialog
-//-----------------------------------------------------------------------------
-enum FileOpenDialogType_t
-{
- FOD_SAVE = 0,
- FOD_OPEN,
- FOD_SELECT_DIRECTORY,
-};
-
-
-class FileOpenDialog : public vgui::Frame
-{
- DECLARE_CLASS_SIMPLE( FileOpenDialog, Frame );
-
-public:
- // NOTE: Backward compat constructor
- FileOpenDialog( Panel *parent, const char *title, bool bOpenFile, KeyValues *pContextKeyValues = 0 );
-
- // The context keyvalues are added to all messages sent by this dialog if they are specified
- FileOpenDialog( Panel *parent, const char *title, FileOpenDialogType_t type, KeyValues *pContextKeyValues = 0 );
- ~FileOpenDialog();
-
- // Set the directory the file search starts in
- void SetStartDirectory(const char *dir);
-
- // Sets the start directory context (and resets the start directory in the process)
- // NOTE: If you specify a startdir context, then if you've already opened
- // a file with that same start dir context before, it will start in the
- // same directory it ended up in.
- void SetStartDirectoryContext( const char *pContext, const char *pDefaultDir );
-
- // Add filters for the drop down combo box
- // The filter info, if specified, gets sent back to the app in the FileSelected message
- void AddFilter( const char *filter, const char *filterName, bool bActive, const char *pFilterInfo = NULL );
-
- // Activate the dialog
- // NOTE: The argument is there for backward compat
- void DoModal( bool bUnused = false );
-
- // Get the directory this is currently in
- void GetCurrentDirectory( char *buf, int bufSize );
-
- // Get the last selected file name
- void GetSelectedFileName( char *buf, int bufSize );
-
- /*
- messages sent:
- "FileSelected"
- "fullpath" // specifies the fullpath of the file
- "filterinfo" // Returns the filter info associated with the active filter
- "FileSelectionCancelled"
- */
-
-protected:
- virtual void OnCommand( const char *command );
- virtual void ApplySchemeSettings(IScheme *pScheme);
- virtual void OnClose();
- virtual void OnKeyCodeTyped(KeyCode code);
-
- // handles the open button being pressed
- // checks on what has changed and acts accordingly
- MESSAGE_FUNC( OnOpen, "OnOpen" );
- MESSAGE_FUNC( OnSelectFolder, "SelectFolder" );
- MESSAGE_FUNC( OnFolderUp, "OnFolderUp" );
- MESSAGE_FUNC( OnNewFolder, "OnNewFolder" );
- MESSAGE_FUNC( OnOpenInExplorer, "OpenInExplorer" );
-
- MESSAGE_FUNC( PopulateFileList, "PopulateFileList" );
- MESSAGE_FUNC( PopulateDriveList, "PopulateDriveList" );
- MESSAGE_FUNC( PopulateFileNameCompletion, "PopulateFileNameCompletion" );
-
- // moves the directory structure up
- virtual void MoveUpFolder();
-
- // validates that the current path is valid
- virtual void ValidatePath();
-
- // handles an item in the list being selected
- MESSAGE_FUNC( OnItemSelected, "ItemSelected" );
- MESSAGE_FUNC( OnListItemSelected, "ListItemSelected" )
- {
- OnItemSelected();
- }
-
- // changes directories in response to selecting drives from the combo box
- MESSAGE_FUNC_PARAMS( OnTextChanged, "TextChanged", kv );
-
- MESSAGE_FUNC( OnInputCanceled, "InputCanceled" );
- MESSAGE_FUNC_PARAMS( OnInputCompleted, "InputCompleted", data );
-
-private:
- // Necessary because we have 2 constructors
- void Init( const char *title, KeyValues *pContextKeyValues );
-
- // Does the specified extension match something in the filter list?
- bool ExtensionMatchesFilter( const char *pExt );
-
- // Choose the first non *.* filter in the filter list
- void ChooseExtension( char *pExt, int nBufLen );
-
- // Saves the file to the start dir context
- void SaveFileToStartDirContext( const char *pFullPath );
-
- // Posts a file selected message
- void PostFileSelectedMessage( const char *pFileName );
-
- // Creates a new folder
- void NewFolder( char const *folderName );
-
- vgui::ComboBox *m_pFullPathEdit;
- vgui::ListPanel *m_pFileList;
-
- FileCompletionEdit *m_pFileNameEdit;
-
- vgui::ComboBox *m_pFileTypeCombo;
- vgui::Button *m_pOpenButton;
- vgui::Button *m_pCancelButton;
- vgui::Button *m_pFolderUpButton;
- vgui::Button *m_pNewFolderButton;
- vgui::Button *m_pOpenInExplorerButton;
- vgui::ImagePanel *m_pFolderIcon;
- vgui::Label *m_pFileTypeLabel;
-
- KeyValues *m_pContextKeyValues;
-
- char m_szLastPath[1024];
- unsigned short m_nStartDirContext;
- FileOpenDialogType_t m_DialogType;
- bool m_bFileSelected : 1;
-
- VPANEL m_SaveModal;
- vgui::DHANDLE< vgui::InputDialog > m_hInputDialog;
-};
-
-} // namespace vgui
-
-#endif // FILEOPENDIALOG_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Declaration of FileOpenDialog class, a generic open/save as file dialog +// +// $NoKeywords: $ +//===========================================================================// + +#ifndef FILEOPENDIALOG_H +#define FILEOPENDIALOG_H + +#ifdef _WIN32 +#pragma once +#endif + +#include "vgui_controls/Frame.h" + +namespace vgui +{ + +class FileCompletionEdit; // local +class InputDialog; + +//----------------------------------------------------------------------------- +// Purpose: generic open/save as file dialog +//----------------------------------------------------------------------------- +enum FileOpenDialogType_t +{ + FOD_SAVE = 0, + FOD_OPEN, + FOD_SELECT_DIRECTORY, +}; + + +class FileOpenDialog : public vgui::Frame +{ + DECLARE_CLASS_SIMPLE( FileOpenDialog, Frame ); + +public: + // NOTE: Backward compat constructor + FileOpenDialog( Panel *parent, const char *title, bool bOpenFile, KeyValues *pContextKeyValues = 0 ); + + // The context keyvalues are added to all messages sent by this dialog if they are specified + FileOpenDialog( Panel *parent, const char *title, FileOpenDialogType_t type, KeyValues *pContextKeyValues = 0 ); + ~FileOpenDialog(); + + // Set the directory the file search starts in + void SetStartDirectory(const char *dir); + + // Sets the start directory context (and resets the start directory in the process) + // NOTE: If you specify a startdir context, then if you've already opened + // a file with that same start dir context before, it will start in the + // same directory it ended up in. + void SetStartDirectoryContext( const char *pContext, const char *pDefaultDir ); + + // Add filters for the drop down combo box + // The filter info, if specified, gets sent back to the app in the FileSelected message + void AddFilter( const char *filter, const char *filterName, bool bActive, const char *pFilterInfo = NULL ); + + // Activate the dialog + // NOTE: The argument is there for backward compat + void DoModal( bool bUnused = false ); + + // Get the directory this is currently in + void GetCurrentDirectory( char *buf, int bufSize ); + + // Get the last selected file name + void GetSelectedFileName( char *buf, int bufSize ); + + /* + messages sent: + "FileSelected" + "fullpath" // specifies the fullpath of the file + "filterinfo" // Returns the filter info associated with the active filter + "FileSelectionCancelled" + */ + +protected: + virtual void OnCommand( const char *command ); + virtual void ApplySchemeSettings(IScheme *pScheme); + virtual void OnClose(); + virtual void OnKeyCodeTyped(KeyCode code); + + // handles the open button being pressed + // checks on what has changed and acts accordingly + MESSAGE_FUNC( OnOpen, "OnOpen" ); + MESSAGE_FUNC( OnSelectFolder, "SelectFolder" ); + MESSAGE_FUNC( OnFolderUp, "OnFolderUp" ); + MESSAGE_FUNC( OnNewFolder, "OnNewFolder" ); + MESSAGE_FUNC( OnOpenInExplorer, "OpenInExplorer" ); + + MESSAGE_FUNC( PopulateFileList, "PopulateFileList" ); + MESSAGE_FUNC( PopulateDriveList, "PopulateDriveList" ); + MESSAGE_FUNC( PopulateFileNameCompletion, "PopulateFileNameCompletion" ); + + // moves the directory structure up + virtual void MoveUpFolder(); + + // validates that the current path is valid + virtual void ValidatePath(); + + // handles an item in the list being selected + MESSAGE_FUNC( OnItemSelected, "ItemSelected" ); + MESSAGE_FUNC( OnListItemSelected, "ListItemSelected" ) + { + OnItemSelected(); + } + + // changes directories in response to selecting drives from the combo box + MESSAGE_FUNC_PARAMS( OnTextChanged, "TextChanged", kv ); + + MESSAGE_FUNC( OnInputCanceled, "InputCanceled" ); + MESSAGE_FUNC_PARAMS( OnInputCompleted, "InputCompleted", data ); + +private: + // Necessary because we have 2 constructors + void Init( const char *title, KeyValues *pContextKeyValues ); + + // Does the specified extension match something in the filter list? + bool ExtensionMatchesFilter( const char *pExt ); + + // Choose the first non *.* filter in the filter list + void ChooseExtension( char *pExt, int nBufLen ); + + // Saves the file to the start dir context + void SaveFileToStartDirContext( const char *pFullPath ); + + // Posts a file selected message + void PostFileSelectedMessage( const char *pFileName ); + + // Creates a new folder + void NewFolder( char const *folderName ); + + vgui::ComboBox *m_pFullPathEdit; + vgui::ListPanel *m_pFileList; + + FileCompletionEdit *m_pFileNameEdit; + + vgui::ComboBox *m_pFileTypeCombo; + vgui::Button *m_pOpenButton; + vgui::Button *m_pCancelButton; + vgui::Button *m_pFolderUpButton; + vgui::Button *m_pNewFolderButton; + vgui::Button *m_pOpenInExplorerButton; + vgui::ImagePanel *m_pFolderIcon; + vgui::Label *m_pFileTypeLabel; + + KeyValues *m_pContextKeyValues; + + char m_szLastPath[1024]; + unsigned short m_nStartDirContext; + FileOpenDialogType_t m_DialogType; + bool m_bFileSelected : 1; + + VPANEL m_SaveModal; + vgui::DHANDLE< vgui::InputDialog > m_hInputDialog; +}; + +} // namespace vgui + +#endif // FILEOPENDIALOG_H |