records_table.hpp
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:5k
- /*
- * ===========================================================================
- * PRODUCTION $Log: records_table.hpp,v $
- * PRODUCTION Revision 1000.1 2004/04/12 19:07:46 gouriano
- * PRODUCTION PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.15
- * PRODUCTION
- * ===========================================================================
- */
- #ifndef GUI_GBENCH___RECORDS_TABLE__HPP
- #define GUI_GBENCH___RECORDS_TABLE__HPP
- /* $Id: records_table.hpp,v 1000.1 2004/04/12 19:07:46 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:
- * CRecordsTable -- Multi-column table widget for use in displaying loaded
- * records
- */
- #include <gui/types.hpp>
- #include <gui/core/idocument.hpp>
- #include <gui/widgets/fl/table_panel.hpp>
- #include <memory>
- #include <vector>
- BEGIN_NCBI_SCOPE
- // the base class requres a way to compare two documents...
- bool operator< (const IDocument& doc0, const IDocument& doc1);
- class CRecordsTable : public CTablePanel<IDocument*>
- {
- public:
- enum EColumns {
- eNone = -1,
- eBriefTitle = 0,
- eTitle,
- eViews,
- };
- // default ctor
- CRecordsTable(int x, int y, int w, int h, const char* label = NULL);
- // virtual dtor
- virtual ~CRecordsTable();
- // Update our cached table data.
- // This is called from the main window when the documents in the doc
- // manager change.
- void Update(TUpdateFlags flags);
- // Set the item to be shown in a given column. If the indicated column
- // index is greater than the current number of columns, the index will be
- // expanded to fit.
- void SetColType(int col, EColumns type);
- private:
- // FLTK overload: event handler
- virtual int handle(int event);
- };
- END_NCBI_SCOPE
- #endif // GUI_GBENCH___RECORDS_TABLE__HPP
- /*
- * ===========================================================================
- * $Log: records_table.hpp,v $
- * Revision 1000.1 2004/04/12 19:07:46 gouriano
- * PRODUCTION: UPGRADED [CATCHUP_003] Dev-tree R1.15
- *
- * Revision 1.15 2003/12/09 15:51:22 dicuccio
- * Deprecated Fl_Toggle_Tree - replaced with Flu_Tree_Browser. Added CTreeBrowser
- * as a standard tree interface
- *
- * Revision 1.14 2003/09/29 15:43:01 dicuccio
- * Deprecated gui/scope.hpp. Merged gui/core/types.hpp into gui/types.hpp
- *
- * Revision 1.13 2003/09/04 14:02:36 dicuccio
- * Introduce IDocument as abstract base class for CDocument; replace use of
- * CDocument with IDocument
- *
- * Revision 1.12 2003/08/06 13:24:31 dicuccio
- * Deprecated old main window; introduced new, compact window for multiple
- * document management
- *
- * Revision 1.11 2003/07/28 11:51:47 dicuccio
- * Rewrote CTablePanel<> to be more flexible and better contained. Added standard
- * multicolumn list dialog. Deprecated use of COutputDlg.
- *
- * Revision 1.10 2003/07/25 13:43:40 dicuccio
- * Replaced Flv_Table with Fl_Table
- *
- * Revision 1.9 2003/04/24 16:36:49 dicuccio
- * Removed unnecessary / unavailable columns from display. Updated to reflect
- * changes in IDocument API
- *
- * Revision 1.8 2003/02/20 19:50:47 dicuccio
- * Created new plugin architecture, based on ASN.1 spec. Moved GBENCH framework
- * over to use new architecture.
- *
- * Revision 1.7 2003/01/15 21:12:49 dicuccio
- * Added update flags - allows partial updates, for example, when a view is created
- *
- * Revision 1.6 2003/01/13 13:10:10 dicuccio
- * Namespace clean-up. Retired namespace gui -> converted all to namespace ncbi.
- * Moved all FLUID-generated code into namespace ncbi.
- *
- * Revision 1.5 2003/01/08 15:02:26 dicuccio
- * Moved column selection dialog into base class. Added ability to sort columns
- * based on column type (string vs. numeric)
- *
- * Revision 1.4 2003/01/03 22:29:09 ucko
- * #include <memory> for auto_ptr<>
- *
- * Revision 1.3 2003/01/03 17:29:06 dicuccio
- * Added ability to select columns for viewing and sorting
- *
- * Revision 1.2 2002/12/30 18:51:53 dicuccio
- * Updated to support new table widget base class. Updated to add new tabular
- * views.
- *
- * Revision 1.1 2002/12/23 16:40:13 dicuccio
- * Initial revision
- *
- * ===========================================================================
- */