1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
#ifndef __DISPLAY_SETTINGS_STUDY_METADATA_H__
#define __DISPLAY_SETTINGS_STUDY_METADATA_H__
/*LICENSE_START*/
/*
* Copyright 1995-2002 Washington University School of Medicine
*
* http://brainmap.wustl.edu
*
* This file is part of CARET.
*
* CARET is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CARET is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with CARET; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
/*LICENSE_END*/
#include "DisplaySettings.h"
class BrainSet;
/// class for display settings of study meta data
class DisplaySettingsStudyMetaData : public DisplaySettings {
public:
/// keyword status
enum KEYWORD_STATUS {
///
KEYWORD_STATUS_KEYWORD_SELECTED,
///
KEYWORD_STATUS_KEYWORD_NOT_SELECTED,
///
KEYWORD_STATUS_HAS_NO_KEYWORDS
};
// Constructor
DisplaySettingsStudyMetaData(BrainSet* bs);
// Destructor
virtual ~DisplaySettingsStudyMetaData();
// Reinitialize all display settings
virtual void reset();
// Update any selections due to changes in loaded cells
virtual void update();
// get keywords and number of foci using the keywords
void getKeywordsAndUsageByFoci(std::vector<QString>& keywordsOut,
std::vector<int>& fociCountForKeywordOut) const;
// get keyword indices sorted by name case insensitive
void getKeywordIndicesSortedByName(std::vector<int>& indicesSortedByNameOut,
const bool reverseOrderFlag,
const bool limitToDisplayedFociFlag) const;
// update the keywords
void updateKeywords();
/// get the number of keywords
int getNumberOfKeywords() const { return keywords.size(); }
// get index of a keyword
int getKeywordIndexByName(const QString& name) const;
// get a keyword from its index
QString getKeywordNameByIndex(const int indx) const;
// get a keyword's selection status
bool getKeywordSelected(const int indx) const;
// get a keyword's selection status
bool getKeywordSelected(const QString& name) const;
// set a keyword's selection status
void setKeywordSelected(const int indx,
const bool selFlag);
// get subheaders and number of foci using the subheaders
void getSubheadersAndUsageByFoci(std::vector<QString>& subheadersOut,
std::vector<int>& fociCountForSubheadersOut) const;
// get subheader indices sorted by name case insensitive
void getSubHeaderIndicesSortedByName(std::vector<int>& indicesSortedByNameOut,
const bool reverseOrderFlag,
const bool limitToDisplayedFociFlag) const;
// update the subheaders names
void updateSubHeaderNames();
/// get the number of subheader names
int getNumberOfSubHeaderNames() const { return subHeaderNames.size(); }
// get index of a subheader name
int getSubHeaderIndexByName(const QString& name) const;
// get a subh header name by its index
QString getSubHeaderNameByIndex(const int indx) const;
// get a subheader name's selection status
bool getSubHeaderNameSelected(const int indx) const;
// get a sub header name's selection status
bool getSubHeaderNameSelected(const QString& name) const;
// set a sub header name's selection status
void setSubHeaderNameSelected(const int indx,
const bool selFlag);
// update study metadata table subheader selection status
void updateStudyMetaDataTableSubHeaderSelectionFlags() const;
// apply a scene (set display settings)
virtual void showScene(const SceneFile::Scene& scene, QString& errorMessage) ;
// create a scene (read display settings)
virtual void saveScene(SceneFile::Scene& scene, const bool onlyIfSelected,
QString& errorMessage);
// determine studies with selected keywords
void getStudiesWithSelectedKeywords(std::vector<KEYWORD_STATUS>& studyKeywordStatus) const;
protected:
// the keywords
std::vector<QString> keywords;
// the keyword selection status
std::vector<bool> keywordsSelected;
// the sub header names
std::vector<QString> subHeaderNames;
// the sub header selection status
std::vector<bool> subHeaderNamesSelected;
};
#endif // __DISPLAY_SETTINGS_STUDY_METADATA_H__
|