use of com.biglybt.ui.common.table.TableColumnCore in project BiglyBT by BiglySoftware.
the class TableColumnManager method removeColumns.
/**
* Remove a column definition from the list
* @param itemsToRemove The column definition object
*/
public void removeColumns(TableColumnCore[] itemsToRemove) {
try {
items_mon.enter();
for (int i = 0; i < itemsToRemove.length; i++) {
TableColumnCore item = itemsToRemove[i];
String name = item.getName();
String sTableID = item.getTableID();
Map<String, TableColumnCore> mTypes = items.get(sTableID);
if (mTypes != null) {
TableColumnCore removed = mTypes.remove(name);
}
}
} catch (Exception e) {
System.out.println("Error while removing Table Column Extension");
Debug.printStackTrace(e);
} finally {
items_mon.exit();
}
}
use of com.biglybt.ui.common.table.TableColumnCore in project BiglyBT by BiglySoftware.
the class TableColumnCreatorV3 method initCoreColumns.
/**
* @since 3.1.1.1
*/
public static void initCoreColumns() {
TableColumnCreator.initCoreColumns();
// short variable names to reduce wrapping
final Map<String, cInfo> c = new LightHashMap<>(7);
c.put(ColumnUnopened.COLUMN_ID, new cInfo(ColumnUnopened.class, ColumnUnopened.DATASOURCE_TYPES));
c.put(ColumnThumbAndName.COLUMN_ID, new cInfo(ColumnThumbAndName.class, ColumnThumbAndName.DATASOURCE_TYPES));
c.put(ColumnStream.COLUMN_ID, new cInfo(ColumnStream.class, ColumnStream.DATASOURCE_TYPES));
c.put(DateAddedItem.COLUMN_ID, new cInfo(DateAddedItem.class, DateAddedItem.DATASOURCE_TYPE));
c.put(DateCompletedItem.COLUMN_ID, new cInfo(DateCompletedItem.class, DateCompletedItem.DATASOURCE_TYPE));
c.put(ColumnProgressETA.COLUMN_ID, new cInfo(ColumnProgressETA.class, ColumnProgressETA.DATASOURCE_TYPE));
c.put(ColumnChatMessageCount.COLUMN_ID, new cInfo(ColumnChatMessageCount.class, Download.class));
// ///////
final Class ac = ActivitiesEntry.class;
c.put(ColumnActivityNew.COLUMN_ID, new cInfo(ColumnActivityNew.class, ac));
c.put(ColumnActivityType.COLUMN_ID, new cInfo(ColumnActivityType.class, ac));
c.put(ColumnActivityText.COLUMN_ID, new cInfo(ColumnActivityText.class, ac));
c.put(ColumnActivityActions.COLUMN_ID, new cInfo(ColumnActivityActions.class, ac));
c.put(ColumnActivityDate.COLUMN_ID, new cInfo(ColumnActivityDate.class, ac));
c.put(ColumnThumbnail.COLUMN_ID, new cInfo(ColumnThumbnail.class, new Class[] { ac }));
// Core columns are implementors of TableColumn to save one class creation
// Otherwise, we'd have to create a generic TableColumnImpl class, pass it
// to another class so that it could manipulate it and act upon changes.
TableColumnManager tcManager = TableColumnManager.getInstance();
TableColumnCoreCreationListener tcCreator = new TableColumnCoreCreationListener() {
// @see com.biglybt.ui.swt.views.table.TableColumnCoreCreationListener#createTableColumnCore(java.lang.Class, java.lang.String, java.lang.String)
@Override
public TableColumnCore createTableColumnCore(Class forDataSourceType, String tableID, String columnID) {
cInfo info = c.get(columnID);
if (info.cla.isAssignableFrom(TableColumnCore.class)) {
return null;
}
try {
Constructor<TableColumnCore> constructor = info.cla.getDeclaredConstructor(String.class);
TableColumnCore column = constructor.newInstance(tableID);
return column;
} catch (NoSuchMethodException ignored) {
} catch (Exception e) {
Debug.out(e);
}
return null;
}
@Override
public void tableColumnCreated(TableColumn column) {
cInfo info = c.get(column.getName());
if (column.getClass().equals(info.cla)) {
return;
}
try {
Constructor constructor = info.cla.getDeclaredConstructor(TableColumn.class);
if (constructor != null) {
constructor.newInstance(column);
}
} catch (NoSuchMethodException e) {
} catch (Exception e) {
Debug.out(e);
}
}
};
tcManager.unregisterColumn(NameItem.DATASOURCE_TYPE, NameItem.COLUMN_ID, null);
for (String id : c.keySet()) {
cInfo info = c.get(id);
for (int i = 0; i < info.forDataSourceTypes.length; i++) {
Class cla = info.forDataSourceTypes[i];
tcManager.registerColumn(cla, id, tcCreator);
}
}
}
use of com.biglybt.ui.common.table.TableColumnCore in project BiglyBT by BiglySoftware.
the class TableColumnCreatorV3 method setVisibility.
/**
* @param mapTCs
* @param defaultVisibleOrder
*/
private static void setVisibility(Map<String, TableColumnCore> mapTCs, String[] defaultVisibleOrder, boolean reorder) {
for (TableColumnCore tc : mapTCs.values()) {
Long force_visible = (Long) tc.getUserData(TableColumn.UD_FORCE_VISIBLE);
if (force_visible == null || force_visible == 0) {
tc.setVisible(false);
}
}
for (int i = 0; i < defaultVisibleOrder.length; i++) {
String id = defaultVisibleOrder[i];
TableColumnCore tc = mapTCs.get(id);
if (tc != null) {
tc.setVisible(true);
if (reorder) {
tc.setPositionNoShift(i);
}
}
}
}
use of com.biglybt.ui.common.table.TableColumnCore in project BiglyBT by BiglySoftware.
the class TableColumnCreatorV3 method createActivityBig.
public static TableColumnCore[] createActivityBig(String tableID) {
final String[] defaultVisibleOrder = { ColumnActivityNew.COLUMN_ID, ColumnActivityType.COLUMN_ID, ColumnActivityText.COLUMN_ID, ColumnThumbnail.COLUMN_ID, ColumnActivityActions.COLUMN_ID, ColumnActivityDate.COLUMN_ID };
TableColumnManager tcManager = TableColumnManager.getInstance();
Map<String, TableColumnCore> mapTCs = tcManager.getTableColumnsAsMap(ActivitiesEntry.class, tableID);
tcManager.setDefaultColumnNames(tableID, defaultVisibleOrder);
if (!tcManager.loadTableColumnSettings(ActivitiesEntry.class, tableID) || areNoneVisible(mapTCs)) {
setVisibility(mapTCs, defaultVisibleOrder, true);
ColumnActivityText tcText = (ColumnActivityText) mapTCs.get(ColumnActivityText.COLUMN_ID);
if (tcText != null) {
tcText.setWidth(350);
}
ColumnActivityDate tc = (ColumnActivityDate) mapTCs.get(ColumnActivityDate.COLUMN_ID);
if (tc != null) {
tcManager.setDefaultSortColumnName(tableID, ColumnActivityDate.COLUMN_ID);
tc.setSortAscending(false);
}
}
return mapTCs.values().toArray(new TableColumnCore[0]);
}
use of com.biglybt.ui.common.table.TableColumnCore in project BiglyBT by BiglySoftware.
the class TableColumnCreatorV3 method createIncompleteDM.
public static TableColumnCore[] createIncompleteDM(String tableID, boolean big) {
final String[] oldVisibleOrder = { ColumnThumbAndName.COLUMN_ID, ColumnStream.COLUMN_ID, SizeItem.COLUMN_ID, ColumnFileCount.COLUMN_ID, ColumnProgressETA.COLUMN_ID, SeedsItem.COLUMN_ID, PeersItem.COLUMN_ID, "azsubs.ui.column.subs", "azbuddy.ui.column.msgpending" };
final String[] defaultVisibleOrder = { RankItem.COLUMN_ID, ColumnThumbAndName.COLUMN_ID, ColumnStream.COLUMN_ID, ColumnProgressETA.COLUMN_ID, SizeItem.COLUMN_ID, ColumnTorrentSpeed.COLUMN_ID, ETAItem.COLUMN_ID, "RatingColumn", "azsubs.ui.column.subs", "azbuddy.ui.column.msgpending", DateAddedItem.COLUMN_ID };
TableColumnManager tcManager = TableColumnManager.getInstance();
Map<String, TableColumnCore> mapTCs = tcManager.getTableColumnsAsMap(DownloadTypeIncomplete.class, tableID);
tcManager.setDefaultColumnNames(tableID, defaultVisibleOrder);
if (!tcManager.loadTableColumnSettings(DownloadTypeIncomplete.class, tableID) || areNoneVisible(mapTCs)) {
setVisibility(mapTCs, defaultVisibleOrder, true);
RankItem tc = (RankItem) mapTCs.get(RankItem.COLUMN_ID);
if (tc != null) {
tcManager.setDefaultSortColumnName(tableID, RankItem.COLUMN_ID);
tc.setSortAscending(true);
}
} else {
upgradeColumns(oldVisibleOrder, defaultVisibleOrder, mapTCs);
}
// special changes
StatusItem tcStatusItem = (StatusItem) mapTCs.get(StatusItem.COLUMN_ID);
if (tcStatusItem != null) {
tcStatusItem.setChangeRowFG(false);
if (big) {
tcStatusItem.setChangeCellFG(false);
}
}
if (big) {
ShareRatioItem tcShareRatioItem = (ShareRatioItem) mapTCs.get(ShareRatioItem.COLUMN_ID);
if (tcShareRatioItem != null) {
tcShareRatioItem.setChangeFG(false);
tcShareRatioItem.setWidth(80);
}
}
return mapTCs.values().toArray(new TableColumnCore[0]);
}
Aggregations