- /*
- * ===========================================================================
- * PRODUCTION $Log: docmgr_view.hpp,v $
- * PRODUCTION Revision 1000.1 2004/04/12 18:12:18 gouriano
- * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.9
- * PRODUCTION
- * ===========================================================================
- */
- #ifndef GUI_CORE___DOC_MGR_VIEW__HPP
- #define GUI_CORE___DOC_MGR_VIEW__HPP
- /* $Id: docmgr_view.hpp,v 1000.1 2004/04/12 18:12:18 gouriano Exp $
- * ===========================================================================
- *
- * PUBLIC DOMAIN NOTICE
- * National Center for Biotechnology Information
- *
- * This software / database is a "United States Government Work" under the
- * terms of the United States Copyright Act. It was written as part of
- * the author's official duties as a United States Government employee and
- * thus cannot be copyrighted. This software / database is freely available
- * to the public for use. The National Library of Medicine and the U.S.
- * Government have not placed any restriction on its use or reproduction.
- *
- * Although all reasonable efforts have been taken to ensure the accuracy
- * and reliability of the software and data, the NLM and the U.S.
- * Government do not and cannot warrant the performance or results that
- * may be obtained by using this software or data. The NLM and the U.S.
- * Government disclaim all warranties, express or implied, including
- * warranties of performance, merchantability or fitness for any particular
- * purpose.
- *
- * Please cite the author in any work or product based on this material.
- *
- * ===========================================================================
- *
- * Authors: Mike DiCuccio
- *
- * File Description:
- * Base class for specialized views of the document manager (arbiter)
- */
- #include <corelib/ncbiobj.hpp>
- #include <gui/gui.hpp>
- BEGIN_NCBI_SCOPE
- class CSelectionBuffer;
- //
- // Base class for all views
- //
- class NCBI_GUICORE_EXPORT CDocMgrView : public CObject
- {
- public:
- CDocMgrView();
- virtual ~CDocMgrView(void);
- virtual void Show (void) = 0;
- virtual bool Shown (void) const = 0;
- virtual void Hide (void) = 0;
- virtual void Update(TUpdateFlags flags) = 0;
- virtual string GetTitle(void) const = 0;
- void SetEventMask(TUpdateFlags flags) { m_EventMask = flags; }
- TUpdateFlags GetEventMask(void) const { return m_EventMask; }
- // Access the selection buffer. The selection buffer is a hierarchical
- // data structure holding lists of items for a number of documents.
- const CSelectionBuffer& GetSelBuffer(void) const { return *m_SelBuffer; }
- CSelectionBuffer& GetSelBuffer(void) { return *m_SelBuffer; }
- protected:
- CRef<CSelectionBuffer> m_SelBuffer;
- TUpdateFlags m_EventMask;
- // Prohibit copying!
- CDocMgrView(const CDocMgrView&);
- CDocMgrView& operator= (const CDocMgrView&);
- };
- END_NCBI_SCOPE
- #endif // GUI_CORE___DOC_MGR_VIEW__HPP
- /*
- * ===========================================================================
- * $Log: docmgr_view.hpp,v $
- * Revision 1000.1 2004/04/12 18:12:18 gouriano
- * PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.9
- *
- * Revision 1.9 2004/03/11 17:15:22 dicuccio
- * Changed gui/types to gui/gui
- *
- * Revision 1.8 2003/09/29 15:20:06 dicuccio
- * Deprecated gui/scope.hpp. Merged gui/core/types.hpp into gui/types.hpp
- *
- * Revision 1.7 2003/06/25 16:59:41 dicuccio
- * Changed CPluginHandle into a pointer-to-implementation (the previous
- * implementation is now the pointer held). Lots of #include file clean-ups.
- *
- * Revision 1.6 2003/04/07 17:30:49 dicuccio
- * Added pure virtual function: Shown()
- *
- * Revision 1.5 2003/01/13 13:11:41 dicuccio
- * Namespace clean-up. Retired namespace gui -> converted to namespace ncbi.
- * Moved all FLUID-generated code into namespace ncbi.
- *
- * Revision 1.4 2002/12/19 18:13:02 dicuccio
- * Added export specifiers for Win32.
- *
- * Revision 1.3 2002/12/12 15:18:02 dicuccio
- * Provide non-const access to the selection buffer of a given view
- *
- * Revision 1.2 2002/11/07 18:20:12 dicuccio
- * Moved #ifdef to top of file.
- *
- * Revision 1.1 2002/11/04 21:09:05 dicuccio
- * Initial revision
- *
- * ===========================================================================
- */