/***************************************************************************
* Copyright ( C ) 2004 - 2009 by Thomas Fischer *
* fischer @ unix - ag . uni - kl . de *
* *
* This program is free software ; you can redistribute it and / or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation ; either version 2 of the License , or *
* ( at your option ) any later version . *
* *
* This program is distributed in the hope that it will be useful , *
* but WITHOUT ANY WARRANTY ; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the *
* GNU General Public License for more details . *
* *
* You should have received a copy of the GNU General Public License *
* along with this program ; if not , write to the *
* Free Software Foundation , Inc . , *
* 59 Temple Place - Suite 330 , Boston , MA 02111 - 1307 , USA . *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# include <tdelocale.h>
# include "entry.h"
# include "entrywidgetwarningsitem.h"
# include "fieldlineedit.h"
# include "entrywidgettab.h"
namespace KBibTeX
{
BibTeX : : Entry * EntryWidgetTab : : m_crossRefEntry = NULL ;
EntryWidgetTab : : EntryWidgetTab ( BibTeX : : File * bibtexfile , bool isReadOnly , TQWidget * parent , const char * name )
: TQWidget ( parent , name ) , m_isReadOnly ( isReadOnly ) , m_bibtexfile ( bibtexfile )
{
// nothing
}
EntryWidgetTab : : ~ EntryWidgetTab ( )
{
// nothing
}
void EntryWidgetTab : : setValue ( BibTeX : : Entry * entry , const BibTeX : : EntryField : : FieldType fieldType , BibTeX : : Value * value )
{
BibTeX : : EntryField * field = entry - > getField ( fieldType ) ;
if ( value ! = NULL )
{
if ( field = = NULL )
{
field = new BibTeX : : EntryField ( fieldType ) ;
entry - > addField ( field ) ;
}
field - > setValue ( value ) ;
}
else
{
if ( field ! = NULL )
entry - > deleteField ( fieldType ) ;
}
}
void EntryWidgetTab : : addMissingWarning ( BibTeX : : Entry : : EntryType entryType , BibTeX : : EntryField : : FieldType fieldType , const TQString & label , bool valid , TQWidget * widget , TQListView * listView )
{
if ( BibTeX : : Entry : : getRequireStatus ( entryType , fieldType ) = = BibTeX : : Entry : : frsRequired & & ! valid )
new EntryWidgetWarningsItem ( EntryWidgetWarningsItem : : wlWarning , TQString ( i18n ( " The field '%1' is required, but missing " ) ) . arg ( label ) , widget , listView , " warning " ) ;
}
void EntryWidgetTab : : addCrossRefInfo ( const TQString & label , TQWidget * widget , TQListView * listView )
{
TQString crossRefId = m_crossRefEntry ! = NULL ? m_crossRefEntry - > id ( ) : " ??? " ;
new EntryWidgetWarningsItem ( EntryWidgetWarningsItem : : wlInformation , TQString ( i18n ( " Using cross referenced entry '%1' for field '%2' " ) ) . arg ( crossRefId ) . arg ( label ) , widget , listView , " information " ) ;
}
void EntryWidgetTab : : addFieldLineEditWarning ( FieldLineEdit * fieldLineEdit , const TQString & label , TQListView * listView )
{
switch ( fieldLineEdit - > error ( ) )
{
case FieldLineEdit : : etInvalidStringKey :
new EntryWidgetWarningsItem ( EntryWidgetWarningsItem : : wlError , TQString ( i18n ( " The field '%1' contains string keys with invalid characters " ) ) . arg ( label ) , fieldLineEdit , listView , " error " ) ;
break ;
case FieldLineEdit : : etNoError :
{
// nothing
}
break ;
default :
new EntryWidgetWarningsItem ( EntryWidgetWarningsItem : : wlError , TQString ( i18n ( " The field '%1' contains some unknown error " ) ) . arg ( label ) , fieldLineEdit , listView , " error " ) ;
}
}
}
# include "entrywidgettab.moc"