featgroup_config_panel.cpp

来自「ncbi源码」· C++ 代码 · 共 158 行

CPP
158
字号
/* * =========================================================================== * PRODUCTION $Log: featgroup_config_panel.cpp,v $ * PRODUCTION Revision 1000.0  2004/06/01 21:15:28  gouriano * PRODUCTION PRODUCTION: IMPORTED [GCC34_MSVC7] Dev-tree R1.2 * PRODUCTION * =========================================================================== */// generated by Fast Light User Interface Designer (fluid) version 1.0104#include <ncbi_pch.hpp>#include "featgroup_config_panel.hpp"BEGIN_NCBI_SCOPE#include "featgroup_config_panel_.cpp"CFeatGroupConfigPanel::CFeatGroupConfigPanel(){    x_MakeWidgets();    CTreeBrowser::Node* top_node = x_FillTree();            x_TestInits();}void CFeatGroupConfigPanel::x_TestInits(){    m_FeatGroups->add("Prime Dogma");    m_FeatGroups->add("feature group 1");    m_FeatGroups->add("feature group 2");    m_FeatGroups->add("feature group 3");    m_FeatGroups->add("all others");    m_FeatGroups->deselect();    m_FeatGroups->value(1);}Fl_Group* CFeatGroupConfigPanel::GetConfigPanel(void){    return m_ConfigPanel;}CTreeBrowser::Node* CFeatGroupConfigPanel::x_FillTree(){    m_Tree->clear();    m_Tree->insertion_mode(FLU_INSERT_BACK);    m_Tree->selection_mode(FLU_SINGLE_SELECT);        CFeatConfigItem rootItem;    _ASSERT(m_FeatList.GetItem(objects::CSeqFeatData::e_not_set,                                objects::CSeqFeatData::eSubtype_any, rootItem));    CTreeBrowser::Node* rootNode =        m_Tree->set_root(rootItem.GetDescription().c_str());    CTreeBrowser::Node* parent = rootNode;    int current_type = objects::CSeqFeatData::e_not_set;        // Fill up m_Tree with labels from m_FeatList    ITERATE(CFeatConfigList, fc_it, m_FeatList) {        // if done with a subcategory, popup.        if (current_type != objects::CSeqFeatData::e_not_set  &&                  current_type != fc_it->GetType() ) {            parent = rootNode;            current_type = objects::CSeqFeatData::e_not_set;        }        if (fc_it->GetSubtype() == objects::CSeqFeatData::eSubtype_any)  {            if (fc_it->GetType() == objects::CSeqFeatData::e_not_set) {                continue; // already done.            }            //parent = m_Tree->add(fc_it->GetDescription().c_str(), true, 0, 0, rootNode);            parent = m_Tree->AddChild(fc_it->GetDescription(), parent);            parent->open(true);            current_type = fc_it->GetType();        } else {            //m_Tree->add(fc_it->GetDescription().c_str(), false, 0, 0, parent);            m_Tree->AddLeaf(fc_it->GetDescription(), parent);        }    }        m_Tree->open(true);    m_Tree->unselect_all();        return rootNode;}void CFeatGroupConfigPanel::x_OnUp(){    int current_pos = m_FeatGroups->value();    if (current_pos == 0  || current_pos == 1)        return;        int new_pos = current_pos - 1;    m_FeatGroups->move(current_pos, new_pos);    m_FeatGroups->value(new_pos);    m_FeatGroups->redraw();}void CFeatGroupConfigPanel::x_OnDown(){    int current_pos = m_FeatGroups->value();    if (current_pos == 0  || current_pos == m_FeatGroups->size())        return;        int new_pos = current_pos + 1;      m_FeatGroups->move(current_pos, new_pos);    m_FeatGroups->value(new_pos);    m_FeatGroups->redraw();}void CFeatGroupConfigPanel::x_IntoGroup(){    CTreeBrowser::Node* node = m_Tree->GetSelected();    if (node) {        m_FeatGroupItems->add(node->label());        }}void CFeatGroupConfigPanel::x_OutofGroup(){    int sel_item = m_FeatGroupItems->value();    if (sel_item != 0) {        m_FeatGroupItems->remove(sel_item);    }}void CFeatGroupConfigPanel::x_OnFeatGroupClick(){    int current_pos = m_FeatGroups->value();    if (current_pos != 0) {        const char *group_name = m_FeatGroups->text(current_pos);        if (group_name != NULL) {            m_CurrentGroupName->value(group_name);        }    }}void CFeatGroupConfigPanel::cbEnable(Fl_Widget* a, const Fl_Button* o){    if (o->value()) {        a->activate();    } else {        a->deactivate();    }}END_NCBI_SCOPE

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?