wxWindowID
id,
constwxPoint& pos,
constwxSize&
size,
longstyle )
119: m_Object(
nullptr), m_pPmid(pmid), m_pMuid(muid), m_pSerialNumber(serial_number)
139SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
140wxPanel::Create( parent,
id, pos,
size, style );
145GetSizer()->SetSizeHints(
this);
197wxBoxSizer* itemBoxSizer2 =
newwxBoxSizer(wxVERTICAL);
198itemPanel1->SetSizer(itemBoxSizer2);
200wxFlexGridSizer* itemFlexGridSizer3 =
newwxFlexGridSizer(0, 2, 0, 0);
201itemBoxSizer2->Add(itemFlexGridSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
203wxStaticText* itemStaticText4 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"Journal"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
204itemFlexGridSizer3->Add(itemStaticText4, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
207itemFlexGridSizer3->Add(
m_JournalTitle, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
209wxStaticText* itemStaticText6 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"Volume"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
210itemFlexGridSizer3->Add(itemStaticText6, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
213itemFlexGridSizer3->Add(
m_Volume, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
215wxStaticText* itemStaticText8 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"Issue"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
216itemFlexGridSizer3->Add(itemStaticText8, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
219itemFlexGridSizer3->Add(
m_Issue, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
221wxStaticText* itemStaticText10 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"Pages"), wxDefaultPosition, wxDefaultSize, 0 );
222itemFlexGridSizer3->Add(itemStaticText10, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
225itemFlexGridSizer3->Add(
m_Pages, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
227wxStaticText* itemStaticText12 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"PubMedId"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
228itemFlexGridSizer3->Add(itemStaticText12, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
231itemFlexGridSizer3->Add(
m_PmidCtrl, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
233wxStaticText* itemStaticText14 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"muid"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
234itemFlexGridSizer3->Add(itemStaticText14, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
237itemFlexGridSizer3->Add(
m_MuidCtrl, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
239wxStaticText* itemStaticText16 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"Serial number"), wxDefaultPosition, wxDefaultSize,wxALIGN_RIGHT );
240itemFlexGridSizer3->Add(itemStaticText16, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
243itemFlexGridSizer3->Add(
m_SerialNoCtrl, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
245wxStaticText* itemStaticText18 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"Erratum"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
246itemFlexGridSizer3->Add(itemStaticText18, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
248wxArrayString m_ErratumCtrlStrings;
249m_ErratumCtrlStrings.Add(wxEmptyString);
250m_ErratumCtrlStrings.Add(
_(
"Retracted"));
251m_ErratumCtrlStrings.Add(
_(
"Notice"));
252m_ErratumCtrlStrings.Add(
_(
"In-error"));
253m_ErratumCtrlStrings.Add(
_(
"Erratum"));
255itemFlexGridSizer3->Add(
m_ErratumCtrl, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
257wxStaticText* itemStaticText20 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"Explanation"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
258itemFlexGridSizer3->Add(itemStaticText20, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
263wxStaticText* itemStaticText22 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"Publication Status"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
264itemFlexGridSizer3->Add(itemStaticText22, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
266wxArrayString m_PubstatusCtrlStrings;
267m_PubstatusCtrlStrings.Add(
_(
"Received"));
268m_PubstatusCtrlStrings.Add(
_(
"Accepted"));
269m_PubstatusCtrlStrings.Add(
_(
"Electronic Publication"));
270m_PubstatusCtrlStrings.Add(
_(
"Print Publication"));
271m_PubstatusCtrlStrings.Add(
_(
"Revised"));
272m_PubstatusCtrlStrings.Add(
_(
"PMC Publication"));
273m_PubstatusCtrlStrings.Add(
_(
"PMC Revision"));
274m_PubstatusCtrlStrings.Add(
_(
"Entrez Date"));
275m_PubstatusCtrlStrings.Add(
_(
"PubMed Revision"));
276m_PubstatusCtrlStrings.Add(
_(
"Ahead of Print"));
277m_PubstatusCtrlStrings.Add(
_(
"Pre-Medline (Obsolete)"));
278m_PubstatusCtrlStrings.Add(
_(
"MeSH Date"));
279m_PubstatusCtrlStrings.Add(
_(
"Other"));
281itemFlexGridSizer3->Add(
m_PubstatusCtrl, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
283wxBoxSizer* itemBoxSizer24 =
newwxBoxSizer(wxHORIZONTAL);
284itemBoxSizer2->Add(itemBoxSizer24, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
286wxStaticText* itemStaticText25 =
newwxStaticText( itemPanel1, wxID_STATIC,
_(
"Publication Date"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
287itemBoxSizer24->Add(itemStaticText25, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
290itemBoxSizer24->Add(
m_PubDateSizer, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
292wxBoxSizer* itemBoxSizer27 =
newwxBoxSizer(wxHORIZONTAL);
293itemBoxSizer2->Add(itemBoxSizer27, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
295wxButton* itemButton28 =
newwxButton( itemPanel1,
ID_ARTICLE_LOOKUP,
_(
"Lookup Article"), wxDefaultPosition, wxDefaultSize, 0 );
296itemBoxSizer27->Add(itemButton28, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
298wxButton* itemButton29 =
newwxButton( itemPanel1,
ID_JOURNAL_LOOKUP_RELAXED,
_(
"Lookup Relaxed"), wxDefaultPosition, wxDefaultSize, 0 );
299itemBoxSizer27->Add(itemButton29, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
301wxButton* itemButton30 =
newwxButton( itemPanel1,
ID_JOURNAL_LOOKUP_ISOJTA,
_(
"Lookup ISOJTA"), wxDefaultPosition, wxDefaultSize, 0 );
302itemBoxSizer27->Add(itemButton30, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
335 "Journal Title",
false));
342 if(!wxPanel::TransferDataToWindow())
347 intpubstatus =
journal.GetImp().GetPubstatus();
374 if(
journal.IsSetImp() &&
journal.GetImp().IsSetRetract() &&
journal.GetImp().GetRetract().IsSetType()) {
375 interratum_type =
journal.GetImp().GetRetract().GetType();
376 switch(erratum_type) {
383 if(
journal.GetImp().GetRetract().IsSetExp()) {
412 if(!wxPanel::TransferDataFromWindow())
417 if(pubstatus > -1 && pubstatus < 12) {
418 journal.SetImp().SetPubstatus(pubstatus + 1);
419}
else if(pubstatus == 12) {
420 journal.SetImp().SetPubstatus(255);
422 journal.SetImp().ResetPubstatus();
426 if(erratum > 0 && erratum < 5) {
427 journal.SetImp().SetRetract().SetType((objects::CCitRetract_Base::TType)(erratum));
430 journal.SetImp().SetRetract().SetExp(exp);
432 journal.SetImp().SetRetract().ResetExp();
435 journal.SetImp().ResetRetract();
503 if(erratum > -1 && erratum < 4) {
517wxWindow* parent = this->GetParent();
519 while(parent && !listpanel)
521parent = parent->GetParent();
533 while( !
done&& dlg.ShowModal() == wxID_OK ) {
536wxWindow* parent = this->GetParent();
538 while(parent && !listpanel)
540parent = parent->GetParent();
544listpanel->
SetPub(*new_pubdesc);
548wxMessageBox(
wxT(
"Please choose a matching publication"),
wxT(
"Error"), wxOK | wxICON_ERROR,
NULL);
557wxWindow* parent = this->GetParent();
559 while(parent && !listpanel)
561parent = parent->GetParent();
579wxWindow* parent = this->GetParent();
581 while(parent && !listpanel)
583parent = parent->GetParent();
588listpanel->
SetPub(*new_pubdesc);
592wxMessageBox(
wxT(
"Publication lookup failed"),
wxT(
"Error"), wxOK | wxICON_ERROR,
NULL);
608wxMessageBox(
wxT(
"You must provide a journal name to look up!"),
wxT(
"Error"), wxOK | wxICON_ERROR,
NULL);
612vector<string> titles;
616wxMessageBox(
wxT(
"Possible service failure. Please check back later."),
wxT(
"Error"), wxOK | wxICON_ERROR,
NULL);
621 if(titles.empty()) {
622wxMessageBox(
wxT(
"No matches found!"),
wxT(
"Error"), wxOK | wxICON_ERROR,
NULL);
624}
else if(titles.size() == 1) {
625new_title = titles[0];
628 if( dlg.ShowModal() == wxID_OK ) {
633 if(pos != string::npos) {
634new_title = new_title.substr(0, pos);
659 if(!title.
IsSet()) {
663 if((*it)->IsIso_jta()) {
678 "Journal Title",
val));
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
static bool LookupIsojta(string old_title, vector< string > &titles)
bool TransferDataFromWindow()
bool TransferDataToWindow()
CRef< CSerialObject > m_EditedJournal
CJournalPanel()
Constructors.
void x_UpdateJournalTitle()
CFlexibleDatePanel * m_PubDatePanel
@ ID_JOURNAL_LOOKUP_ISOJTA
@ ID_JOURNAL_LOOKUP_RELAXED
void CreateControls()
Creates the controls and sizers.
bool Create(wxWindow *parent, wxWindowID id=ID_JOURNAL, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
Creation.
void OnJournalErratumSelected(wxCommandEvent &event)
wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_JOURNAL_ERRATUM
bool TransferDataFromWindow()
void OnJournalLookupIsojtaClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_JOURNAL_LOOKUP_ISOJTA
void OnJournalPmidTextUpdated(wxCommandEvent &event)
wxEVT_COMMAND_TEXT_UPDATED event handler for ID_JOURNAL_PMID
~CJournalPanel()
Destructor.
CRef< objects::CCit_jour > GetCit_jour() const
wxTextCtrl * m_JournalTitle
wxBoxSizer * m_PubDateSizer
void Init()
Initialises member variables.
wxTextCtrl * m_ErratumExplanation
wxTextCtrl * m_SerialNoCtrl
static bool ShowToolTips()
Should we show tooltips?
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
void OnJournalLookupRelaxedClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_JOURNAL_LOOKUP_RELAXED
wxChoice * m_PubstatusCtrl
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
void OnArticleLookup(wxCommandEvent &event)
void SetFinalValidation(bool val)
bool x_HasIsoJtaTitle(const objects::CTitle &title)
bool TransferDataToWindow()
void SetPub(const objects::CPubdesc &pubdesc)
virtual bool TransferDataFromWindow()
CRef< objects::CPubdesc > GetPubdesc() const
CRef< objects::CPubdesc > GetPubdesc()
void SetPubdesc(const objects::CPubdesc &pubdesc)
void SendQuery(bool use_pubmed_citmatch=false)
Base class for all serializable objects.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static bool IsBlank(const CTempString str, SIZE_TYPE pos=0)
Check if a string is blank (has no text).
static void TruncateSpacesInPlace(string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string (in-place)
static SIZE_TYPE Find(const CTempString str, const CTempString pattern, ECase use_case=eCase, EDirection direction=eForwardSearch, SIZE_TYPE occurrence=0)
Find the pattern in the string.
static bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
list< CRef< C_E > > Tdata
bool IsSet(void) const
Check if a value has been assigned to data member.
const Tdata & Get(void) const
Get the member data.
@ e_Iso_jta
specifically ISO jta J
@ e_Name
Title, Anal,Coll,Mono AJB.
const struct ncbi::grid::netcache::search::fields::SIZE size
API (CPMCIDSearch) for looking up PubMed IDs based on other types of IDs.
CRef< CPub > journal(ParserPtr pp, char *bptr, char *eptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, bool has_muid, CRef< CCit_art > &cit_art, Int4 er)
wxString ToWxString(const string &s)
string ToStdString(const wxString &s)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4