NCBI C++ ToolKit
features_group.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: features_group.cpp 29744 2014-02-05 20:42:29Z katargir $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Authors: Roman Katargin
27  *
28  * File Description:
29  *
30  */
31 
32 #include <ncbi_pch.hpp>
33 
36 
37 #include "features_group.hpp"
38 
40 
41 CFeaturesGroup::CFeaturesGroup(CTextItem* collapsedItem, CTextItem* expandedItem,
42  bool expand)
43  : CExpandItem(collapsedItem, expandedItem, expand)
44 {
45  SetSelectable(false);
46 }
47 
49 {
50  if (!this->IsExpanded())
51  this->Toggle(context, true);
52 
54  for (size_t i = 0; i < composite->GetItemCount(); ++i) {
55  IExpandable* expandable = dynamic_cast<IExpandable*>(composite->GetItem(i));
56  if (expandable != 0 && !expandable->IsExpanded())
57  expandable->Toggle(context, true);
58  }
59 }
60 
62 {
63  if (this->IsExpanded())
64  this->Toggle(context, true);
65 
67  for (size_t i = 0; i < composite->GetItemCount(); ++i) {
68  IExpandable* expandable = dynamic_cast<IExpandable*>(composite->GetItem(i));
69  if (expandable != 0 && expandable->IsExpanded())
70  expandable->Toggle(context, true);
71  }
72 }
73 
ITextItem * GetItem(size_t index)
size_t GetItemCount() const
CTextItem * m_Items[2]
virtual void Toggle(CTextPanelContext *context, bool update)
Definition: expand_item.cpp:84
void SetSelectable(bool selectable=true)
Definition: expand_item.hpp:54
virtual bool IsExpanded() const
Definition: expand_item.hpp:63
void CollapseAll(CTextPanelContext *context)
void ExpandAll(CTextPanelContext *context)
CFeaturesGroup(CTextItem *collapsedItem, CTextItem *expandedItem, bool expand=false)
virtual void Toggle(CTextPanelContext *context, bool update)=0
virtual bool IsExpanded() const =0
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
int i
static CS_CONTEXT * context
Definition: will_convert.c:21
Modified on Mon May 20 05:00:10 2024 by modify_doxy.py rev. 669887