savedlg.h
上传用户:hzhsqp
上传日期:2007-01-06
资源大小:1600k
文件大小:4k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. /*
  2.  * savedlg.h
  3.  *
  4.  * Save file dialog.
  5.  *
  6.  * Portable Windows Library
  7.  *
  8.  * Copyright (c) 1993-1998 Equivalence Pty. Ltd.
  9.  *
  10.  * The contents of this file are subject to the Mozilla Public License
  11.  * Version 1.0 (the "License"); you may not use this file except in
  12.  * compliance with the License. You may obtain a copy of the License at
  13.  * http://www.mozilla.org/MPL/
  14.  *
  15.  * Software distributed under the License is distributed on an "AS IS"
  16.  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
  17.  * the License for the specific language governing rights and limitations
  18.  * under the License.
  19.  *
  20.  * The Original Code is Portable Windows Library.
  21.  *
  22.  * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
  23.  *
  24.  * Portions are Copyright (C) 1993 Free Software Foundation, Inc.
  25.  * All Rights Reserved.
  26.  *
  27.  * Contributor(s): ______________________________________.
  28.  *
  29.  * $Log: savedlg.h,v $
  30.  * Revision 1.14  1999/03/10 03:49:53  robertj
  31.  * More documentation adjustments.
  32.  *
  33.  * Revision 1.13  1999/03/09 08:01:49  robertj
  34.  * Changed comments for doc++ support (more to come).
  35.  *
  36.  * Revision 1.12  1999/02/16 08:08:46  robertj
  37.  * MSVC 6.0 compatibility changes.
  38.  *
  39.  * Revision 1.11  1998/09/23 06:28:57  robertj
  40.  * Added open source copyright license.
  41.  *
  42.  * Revision 1.10  1995/06/17 11:13:15  robertj
  43.  * Documentation update.
  44.  *
  45.  * Revision 1.9  1995/03/14 12:42:30  robertj
  46.  * Updated documentation to use HTML codes.
  47.  *
  48.  * Revision 1.8  1994/12/21  11:53:27  robertj
  49.  * Documentation and variable normalisation.
  50.  *
  51.  * Revision 1.7  1994/08/23  11:32:52  robertj
  52.  * Oops
  53.  *
  54.  * Revision 1.6  1994/08/22  00:46:48  robertj
  55.  * Added pragma fro GNU C++ compiler.
  56.  *
  57.  * Revision 1.5  1994/04/11  14:13:05  robertj
  58.  * Added extra standard resource IDs and normalised dialog ids.
  59.  *
  60.  * Revision 1.4  1994/01/03  04:42:23  robertj
  61.  * Mass changes to common container classes and interactors etc etc etc.
  62.  *
  63.  * Revision 1.3  1993/12/01  16:09:05  robertj
  64.  * Windows NT port.
  65.  *
  66.  * Revision 1.2  1993/07/14  12:49:16  robertj
  67.  * Fixed RCS keywords.
  68.  *
  69.  */
  70. #define _PSAVEFILEDIALOG
  71. #ifdef __GNUC__
  72. #pragma interface
  73. #endif
  74. /**A standard dialog for obtaining a file name for saving to by the
  75.    application. The exact appearance of the dialog is platform specific,
  76.    however they all consists of the same basic functions.
  77.    Note that unlike most dialogs, most operations such as
  78.    Ref{PInteractor::Show()}, Ref{PInteractorLayout::GetControl()} etc may
  79.    {bf not} be executed before the Ref{PModalDialog::RunModal()} function
  80.    has been executed. Furthermore, they are not available {bf after}
  81.    Ref{PModalDialog::RunModal()} has returned. Similarly some functions such
  82.    as Ref{PFileDialog::SetDirectory()} are not available {bf within} the
  83.    centext of Ref{PModalDialog::RunModal()}. This is due to the
  84.    implementation on some platforms which goes to great lengths to use the
  85.    actual standard file dialog for the platform.
  86.  */
  87. class PSaveFileDialog : public PFileDialog
  88. {
  89.   PCLASSINFO(PSaveFileDialog, PFileDialog);
  90.   public:
  91.    /**Create a new standard save file dialog. The actual appearence is
  92.        platform dependent and is displayed using the standard resource. This
  93.        resource may be overridden by the #resID# parameter but must
  94.        still contain all of the controls of the standard resource.
  95.      */
  96.     PSaveFileDialog(
  97.       PInteractor *parent,   /// Owner interactor for the dialog.
  98.       PRESOURCE_ID resID = PSTD_ID_DIALOG_SAVE_FILE
  99.         /// Resource identifier for the dialog description resource.
  100.     );
  101.     /** Destroy the standard save file dialog. */
  102.     virtual ~PSaveFileDialog();
  103.   /**@name New functions for class */
  104.    /**Set the default file type for the new file. If no file type is
  105.        explicitly specified by the use entering the file name, or the platform
  106.        does not allow the specification of a type, eg Macintosh, then this
  107.        type is used.
  108.      */
  109.     void SetDefaultFileType(
  110.       const PString & type    /// File type to use as a default.
  111.     );
  112.    /**Get the default file type for a new file returned by the dialog.
  113.        @return
  114.        string for file type.
  115.      */
  116.     PString GetDefaultFileType() const;
  117.   protected:
  118.     // Member variables
  119.       /** Default file type for when not specified. */
  120.     PString defaultType;
  121. #ifdef DOC_PLUS_PLUS
  122.     };
  123. #endif
  124. // Class declaration continued in platform specific header file ///////////////