46 #include "NCPadWidget.h"
47 #include "NCTablePad.h"
49 #include "NCPkgStrings.h"
55 #include <zypp/ui/Selectable.h>
57 #include "NCPkgStatusStrategy.h"
81 ZyppStatus stat = S_NoInst );
85 void setStatus( ZyppStatus stat ) { status = stat; }
86 ZyppStatus getStatus()
const {
return status; }
88 std::string statusToString( ZyppStatus stat )
const;
90 ZyppObj getDataPointer()
const {
return dataPointer; }
91 ZyppSel getSelPointer()
const {
return selPointer; }
104 std::vector<NCTableLine *>::iterator itemsBegin,
105 std::vector<NCTableLine *>::iterator itemsEnd,
109 if ( _header[ uiColumn ] == NCPkgStrings::PkgSize() )
111 std::sort( itemsBegin, itemsEnd, CompareSize() );
115 std::sort( itemsBegin, itemsEnd, Compare( uiColumn ) );
120 std::vector<std::string> _header;
128 bool operator() ( NCTableLine * first,
132 YTableItem *firstItem =
dynamic_cast<YTableItem*
> (first->origItem() );
133 YTableItem *secondItem =
dynamic_cast<YTableItem*
> (second->origItem() );
137 return firstTag->getDataPointer()->installSize() <
138 secondTag->getDataPointer()->installSize();
150 bool operator() ( NCTableLine * first,
154 std::wstring w1 = first->GetCol( _uiCol )->Label().getText().begin()->str();
155 std::wstring w2 = second->GetCol( _uiCol )->Label().getText().begin()->str();
156 int result = wcscoll ( w1.data(), w2.data() );
178 enum NCPkgTableType {
190 enum NCPkgTableListAction {
199 enum NCPkgTableListType {
205 enum NCPkgTableInfoType {
224 NCPkgTableType tableType;
225 bool haveInstalledVersion;
230 NCPkgTableInfoType visibleInfo;
232 std::vector<std::string> header;
242 NCPkgTable( YWidget * parent, YTableHeader * tableHeader );
255 virtual void addLine( ZyppStatus status,
256 const std::vector<std::string> & elements,
263 void drawList( ) { myPad()->setOrder(1);
return DrawPad(); }
277 virtual void cellChanged(
int index,
int colnum,
const std::string & newtext );
312 const ZyppSel & slbPtr,
316 bool changeObjStatus(
int key );
318 bool changeListObjStatus( NCPkgTableListAction key );
320 bool toggleObjStatus( );
341 bool SourceInstall(
bool install );
356 delete statusStrategy;
357 statusStrategy = strategy;
363 NCPkgTableType getTableType() {
return tableType; }
419 void setVisibleInfo( NCPkgTableInfoType info) { visibleInfo = info; }
421 NCPkgTableInfoType VisibleInfo() {
return visibleInfo ; }
423 bool fillAvailableList ( ZyppSel slb );
424 bool fillSummaryList ( NCPkgTableListType type );
426 void updateInfo( ZyppObj pkgPtr, ZyppSel slbPtr, NCPkgTableInfoType mode );
432 #endif // NCPkgTable_h
virtual NCursesEvent wHandleInput(wint_t key)
bool createPatchEntry(ZyppPatch pkgPtr, ZyppSel slbPtr)
virtual void cellChanged(int index, int colnum, const std::string &newtext)
virtual void addLine(ZyppStatus status, const std::vector< std::string > &elements, ZyppObj objPtr, ZyppSel slbPtr)
ZyppObj getDataPointer(int index)
bool createListEntry(ZyppPkg pkgPtr, ZyppSel slbPtr)
bool createInfoEntry(std::string text)
ZyppStatus getStatus(int index)
ZyppSel getSelPointer(int index)
bool setTableType(NCPkgTableType type, NCPkgStatusStrategy *strategy)
unsigned int getNumLines()
virtual void itemsCleared()
NClabel getCellContents(int index, int colnum)
void setPackager(NCPackageSelector *pkg)
bool changeStatus(ZyppStatus newstat, const ZyppSel &slbPtr, ZyppObj objPtr, bool singleChange)