Skip to content
Snippets Groups Projects
Commit 00ce22c8 authored by marco's avatar marco
Browse files

fix problem with initialising the size of fixed-size panel widgets

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2638 5a81b35b-ba03-0410-adc8-b2c5c5119f08
parent 7db5f068
No related branches found
No related tags found
No related merge requests found
......@@ -49,33 +49,31 @@
namespace ost { namespace gui {
PanelBarWidgetHolder::PanelBarWidgetHolder(Widget* widget,Qt::Orientation orientation,
QWidget* parent):
PanelBarWidgetHolder::PanelBarWidgetHolder(Widget* widget, Qt::Orientation orientation,
QWidget* parent):
QWidget(parent), toolbar_(new QToolBar(parent)),
widget_(widget), label_(NULL)
{
this->SetupToolBar();
QVBoxLayout* v_layout=new QVBoxLayout(this);
this->setLayout(v_layout);
widget->setVisible(true);
v_layout->setMargin(0);
v_layout->setSpacing(0);
v_layout->addWidget(toolbar_, 1);
v_layout->addWidget(widget, 100);
v_layout->addWidget(toolbar_, 0);
v_layout->addWidget(widget, 1);
this->setSizePolicy(widget->sizePolicy());
this->setSizePolicy(widget->sizePolicy());
if(orientation == Qt::Horizontal){
if(this->sizePolicy().horizontalPolicy()==QSizePolicy::Fixed){
this->setMinimumWidth(widget->minimumWidth());
this->setMinimumWidth(widget->maximumWidth());
}
else if(this->sizePolicy().verticalPolicy()==QSizePolicy::Fixed){
this->setFixedWidth(widget->minimumWidth());
} else if (this->sizePolicy().verticalPolicy()==QSizePolicy::Fixed) {
v_layout->addStretch(1);
}
}
if(orientation == Qt::Vertical){
if(this->sizePolicy().verticalPolicy()==QSizePolicy::Fixed){
this->setMinimumHeight(toolbar_->height()+widget->minimumHeight());
this->setMaximumHeight(toolbar_->height()+widget->maximumHeight());
if(this->sizePolicy().verticalPolicy()==QSizePolicy::Fixed) {
this->setFixedHeight(this->sizeHint().height());
}
}
......@@ -104,14 +102,13 @@ void PanelBarWidgetHolder::SetupToolBar()
toolbar_->setContentsMargins(0, 0, 0, 0);
toolbar_->setToolButtonStyle(Qt::ToolButtonIconOnly);
toolbar_->setIconSize(QSize(16,16));
if(!actions.isEmpty()){
for(int i = 0;i<actions.size();i++){
toolbar_->addAction(actions[i]);
}
}
for (int i=0; i<actions.size();i++) {
toolbar_->addAction(actions[i]);
}
QAction* delete_me=toolbar_->addAction(" x ");
delete_me->setToolTip("Close "+ label_->text());
delete_me->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+QString("close_icon.png")));
delete_me->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+
QString("close_icon.png")));
connect(delete_me, SIGNAL(triggered()), this, SLOT(Remove()));
}
......@@ -125,7 +122,7 @@ void PanelBarWidgetHolder::SetWidget(Widget* widget)
QBoxLayout* l=dynamic_cast<QBoxLayout*>(layout());
assert(l);
l->removeWidget(widget_);
l->addWidget(widget, 100);
l->addWidget(widget, 1);
QString class_name=widget->metaObject()->className();
WidgetRegistry* wf=WidgetRegistry::Instance();
label_->setText(wf->GetFullName(class_name));
......
......@@ -80,7 +80,7 @@ void SplitterPanelBar::WidgetMoved(Widget* widget, int index){
wh->setVisible(false);
wh->setParent(NULL);
}
PanelBarWidgetHolder* side_bar_widget_holder = new PanelBarWidgetHolder(widget,splitter_->orientation(),this->GetPanelBar());
PanelBarWidgetHolder* side_bar_widget_holder=new PanelBarWidgetHolder(widget,splitter_->orientation(),this->GetPanelBar());
widget_holders_.insert(index,side_bar_widget_holder);
splitter_->insertWidget(index, widget_holders_.at(index));
if(pos>=0 && pos<sizes_.size() && index>=0 && index<sizes_.size()){
......@@ -92,7 +92,8 @@ void SplitterPanelBar::WidgetMoved(Widget* widget, int index){
}
QString SplitterPanelBar::GetName(){
QString SplitterPanelBar::GetName()
{
return "Splitter Mode";
}
......
......@@ -41,6 +41,7 @@ RemoteLoader::RemoteLoader(QWidget* parent):
button_ = new QToolButton(this);
button_->setAttribute(Qt::WA_MacSmallSize);
progress_bar_ = new QProgressBar(this);
progress_bar_->setAttribute(Qt::WA_MacSmallSize);
progress_bar_->setVisible(false);
progress_bar_->setRange(0,0);
......@@ -51,8 +52,6 @@ RemoteLoader::RemoteLoader(QWidget* parent):
l->setMargin(3);
l->setSpacing(2);
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
this->setFixedHeight(progress_bar_->height());
connect(button_, SIGNAL(clicked()), this,
SLOT(Clicked()));
......@@ -71,10 +70,11 @@ RemoteLoader::RemoteLoader(QWidget* parent):
select_url_action->setIcon(QIcon(icon_path.absolutePath()+QDir::separator()+
QString("site_icon.png")));
action_list_.append(select_url_action);
connect(select_url_action, SIGNAL(triggered(bool)), this, SLOT(UrlClick()));
this->BuildMenu();
this->RenameButton();
this->setFixedHeight(button_->height());
this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
}
void RemoteLoader::UrlClick()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment