Skip to content
Snippets Groups Projects
Commit af3a3bd0 authored by stefan's avatar stefan
Browse files

FileLoader, changed default to PDB

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2422 5a81b35b-ba03-0410-adc8-b2c5c5119f08
parent 688a1524
No related branches found
No related tags found
No related merge requests found
......@@ -68,6 +68,8 @@ void export_FileLoader()
.def("GetSiteLoaderIdents", &LoaderManager::GetSiteLoaderIdents)
.def("AddRemoteSiteLoader", &add_remote_site_loader)
.def("RemoveRemoteSiteLoader", &LoaderManager::RemoveRemoteSiteLoader)
.def("SetDefaultRemoteSiteIdent", &LoaderManager::SetDefaultRemoteSiteIdent)
.def("GetDefaultRemoteSiteIdent", &LoaderManager::GetDefaultRemoteSiteIdent)
;
class_<FileLoader, boost::noncopyable>("FileLoader", no_init)
......
......@@ -52,6 +52,9 @@ class BaseRemoteLoader(gui.RemoteSiteLoader):
def IsImg(self):
return False
def IsDefault(self):
return False
def GetRemoteSiteName(self):
pass
......@@ -83,13 +86,14 @@ class GenericLoader(BaseRemoteLoader):
FILE_TYPE_ATTRIBUTE_NAME = "FileType"
TMP_URL_ATTRIBUTE_NAME= "TmpUrl"
IMG_ATTRIBUTE_NAME= "Img"
def __init__(self, name, url, up_case, file_type, tmp_url=None, img=False):
DEFAULT_ATTRIBUTE_NAME= "Default"
def __init__(self, name, url, up_case, file_type, tmp_url=None, img=False, default=False):
BaseRemoteLoader.__init__(self)
self.name_ = QtCore.QString(name)
self.url_ = QtCore.QString(url)
self.up_case_ = up_case
self.img_ = img
self.default_ = default
if file_type is not None:
self.file_type_ = QtCore.QString(file_type)
else:
......@@ -103,6 +107,9 @@ class GenericLoader(BaseRemoteLoader):
def IsImg(self):
return self.img_
def IsDefault(self):
return self.default_
def GetRemoteSiteName(self):
return self.name_
......@@ -138,7 +145,7 @@ class GenericLoader(BaseRemoteLoader):
def HandleError(self, message):
messageBox =QtGui.QMessageBox(QtGui.QMessageBox.Warning,
"Error while Loading PDB from "+self.name_, "Could not download file ("+message+")!")
"Error while Loading file from "+self.name_, "Could not download file ("+message+")!")
messageBox.exec_()
def ToInfo(self,group):
......@@ -152,6 +159,8 @@ class GenericLoader(BaseRemoteLoader):
group.SetAttribute(GenericLoader.TMP_URL_ATTRIBUTE_NAME, str(self.tmp_url_))
if self.img_ is not None:
group.SetAttribute(GenericLoader.IMG_ATTRIBUTE_NAME, str(int(self.img_)))
if self.default_ is not None:
group.SetAttribute(GenericLoader.DEFAULT_ATTRIBUTE_NAME, str(int(self.default_)))
@staticmethod
def FromInfo(group):
......@@ -161,6 +170,7 @@ class GenericLoader(BaseRemoteLoader):
file_type = None
tmp_url = None
img = False
default = False
if group.HasAttribute(GenericLoader.EXT_NAME_ATTRIBUTE_NAME):
name = QtCore.QString(group.GetAttribute(GenericLoader.EXT_NAME_ATTRIBUTE_NAME))
......@@ -179,5 +189,8 @@ class GenericLoader(BaseRemoteLoader):
if group.HasAttribute(GenericLoader.IMG_ATTRIBUTE_NAME):
img = bool(int(group.GetAttribute(GenericLoader.IMG_ATTRIBUTE_NAME)))
if group.HasAttribute(GenericLoader.DEFAULT_ATTRIBUTE_NAME):
default = bool(int(group.GetAttribute(GenericLoader.DEFAULT_ATTRIBUTE_NAME)))
return GenericLoader(name, url, up_case, file_type, tmp_url, img)
return GenericLoader(name, url, up_case, file_type, tmp_url, img, default)
......@@ -36,6 +36,8 @@ class LoaderListModel(QtCore.QAbstractListModel):
self.AddLoaderToInfo(name, loader)
self.emit(QtCore.SIGNAL("dataChanged"),model_index, end_index)
gui.FileLoader.GetLoaderManager().AddRemoteSiteLoader(name, loader)
if(loader.IsDefault()):
gui.FileLoader.GetLoaderManager().SetDefaultRemoteSiteIdent(name)
return True
return False
......
......@@ -2,7 +2,7 @@
<EMDataInfo>
<GenericLoaders>
<GenericLoader ExtName="pdbredo" Name="pdbredo" Url="http://www.cmbi.ru.nl/pdb_redo/ak/${ID}/${ID}_besttls.pdb" />
<GenericLoader ExtName="pdborg" Name="pdb.org" Url="http://www.pdb.org/pdb/files/${ID}.pdb" />
<GenericLoader ExtName="pdborg" Name="pdb.org" Url="http://www.pdb.org/pdb/files/${ID}.pdb" Default="1" />
<GenericLoader ExtName="emdb" Name="emdb" Url="ftp://emdb.rutgers.edu/structures/EMD-${ID}/map/emd_${ID}.map.gz" FileType="map.gz" Img="1"/>
</GenericLoaders>
</EMDataInfo>
......@@ -99,6 +99,19 @@ QMenu* LoaderManager::GetSiteMenu(){
return site_menu_;
}
RemoteSiteLoader* LoaderManager::GetDefaultRemoteSiteLoader()
{
return GetRemoteSiteLoader(GetDefaultRemoteSiteIdent());
}
QString LoaderManager::GetDefaultRemoteSiteIdent(){
return default_site_;
}
void LoaderManager::SetDefaultRemoteSiteIdent(const QString& ident){
default_site_ = ident;
}
LoaderManager::~LoaderManager(){}
} }
......@@ -34,7 +34,7 @@ class DLLEXPORT_OST_GUI LoaderManager {
QMap<QString,RemoteSiteLoader*> site_loaders_;
QActionGroup* site_actions_;
QMenu* site_menu_;
QString default_site_;
public:
LoaderManager();
......@@ -44,6 +44,9 @@ public:
void RemoveRemoteSiteLoader(const QString& ident);
RemoteSiteLoader* GetRemoteSiteLoader(const QString& ident);
RemoteSiteLoader* GetCurrentSiteLoader();
RemoteSiteLoader* GetDefaultRemoteSiteLoader();
QString GetDefaultRemoteSiteIdent();
void SetDefaultRemoteSiteIdent(const QString& ident);
QMenu* GetSiteMenu();
};
......
......@@ -102,7 +102,7 @@ void RemoteLoader::BuildMenu(String active_loader)
QAction* action = new QAction(loader_ident,site_loader_menu_);
action->setCheckable(true);
site_actions_->addAction(action);
if(site_actions_->checkedAction()==NULL ||selected_site_loader_==loader_ident.toStdString() ){
if((site_actions_->checkedAction()==NULL && loader_ident == FileLoader::GetLoaderManager()->GetDefaultRemoteSiteIdent()) ||selected_site_loader_==loader_ident.toStdString() ){
action->setChecked(true);
}
site_loader_menu_->addAction(action);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment