/
dock_widget.cpp
98 lines (82 loc) · 2.68 KB
/
dock_widget.cpp
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
#include <QVBoxLayout>
#include <QLabel>
#include <QSplitter>
#include "dock_widget.h"
#include "objects_tree_widget.h"
#include "free_elements_widget.h"
#include "species_widget.h"
#include "resources.h"
pa_db::dock_widget::dock_widget( const QString& title, QWidget *parent )
: QDockWidget( title, parent )
, m_first_text( 0 )
, m_second_text( 0 )
{
QSplitter *sp = new QSplitter( Qt::Vertical, this );
setWidget( sp );
QWidget *up_part = new QWidget( sp );
sp->addWidget( up_part );
create_up_part( up_part );
QWidget *mid_part = new QWidget( sp );
sp->addWidget( mid_part );
create_mid_part( mid_part );
QWidget *bottom_part = new QWidget( sp );
sp->addWidget( bottom_part );
create_bottom_part( bottom_part );
}
void pa_db::dock_widget::create_up_part( QWidget *parent )
{
QVBoxLayout *main_layout = new QVBoxLayout( parent );
main_layout->setContentsMargins( 0, 0, 0, 0 );
main_layout->addWidget( m_first_text = new QLabel( text::objects_list( ), parent ) );
m_objects_tree = new objects_tree_widget( parent );
main_layout->addWidget( m_objects_tree );
}
void pa_db::dock_widget::create_mid_part( QWidget *parent )
{
QVBoxLayout *main_layout = new QVBoxLayout( parent );
main_layout->setContentsMargins( 0, 0, 0, 0 );
main_layout->addWidget( lblSpeciesList = new QLabel( tr( "Species" ), parent ) );
main_layout->addWidget( mSpeciesList = new species_widget( parent ) );
}
void pa_db::dock_widget::create_bottom_part( QWidget *parent )
{
QVBoxLayout *main_layout = new QVBoxLayout( parent );
main_layout->setContentsMargins( 0, 0, 0, 0 );
main_layout->addWidget( m_second_text = new QLabel( text::free_elements_list( ), parent ) );
main_layout->addWidget( m_free_elements_list = new free_elements_widget( parent ) );
}
pa_db::objects_tree_widget *pa_db::dock_widget::objects_tree( )
{
return m_objects_tree;
}
pa_db::free_elements_widget *pa_db::dock_widget::free_elements_list( )
{
return m_free_elements_list;
}
pa_db::species_widget *pa_db::dock_widget::speciesList( )
{
return mSpeciesList;
}
void pa_db::dock_widget::show_error_message( )
{
objects_tree( )->hide( );
free_elements_list( )->hide( );
speciesList( )->hide( );
m_first_text->setText( text::error_open_db( ) );
m_second_text->hide( );
lblSpeciesList->hide( );
}
void pa_db::dock_widget::hideSpecies()
{
QWidget *spw = qobject_cast<QWidget *>( lblSpeciesList->parent() );
spw->hide();
//speciesList()->hide();
//lblSpeciesList->hide();
}
void pa_db::dock_widget::showSpecies()
{
QWidget *spw = qobject_cast<QWidget *>( lblSpeciesList->parent() );
spw->show();
//speciesList()->show();
//lblSpeciesList->show();
}