protected void columnModelToView() {
		String[] columnNames = new String[this.columns.size()];
		String[] columnTooltips = new String[this.columns.size()];
		double[] columnWidths = new double[this.columns.size()];
		
		for (int i = 0 ; i < this.columns.size() ; i++) {
			columnNames[i] = this.columns.get(i).name;
			columnTooltips[i] = this.columns.get(i).tooltips;
			columnWidths[i] = this.columns.get(i).width;
		}
				
		model.setColumnNames(columnNames);
		if(this.tooltipsVisible){
			model.setColumnTooltips(columnTooltips);
		}
			
		fireTableStructureChanged();
		
		TableColumnModel columnModel = table.getColumnModel();
		this.columnWidthPercentages.clear();
		for (int i = 0; i < columnWidths.length; i++) {
			if(columns.get(i).visible){
				if(columnWidths[i] > 0 && columnWidths[i] < 1){
					this.columnWidthPercentages.put(i, columnWidths[i]);					
				}	
				else if(columnWidths[i] == PREFERED){
					columnModel.getColumn(i).sizeWidthToFit();
				}
				else if(columnWidths[i] != FILL){					
					int columnWidth = (int) columnWidths[i];
					columnModel.getColumn(i).setMinWidth(columnWidth);
					columnModel.getColumn(i).setMaxWidth(columnWidth);
					columnModel.getColumn(i).setPreferredWidth(columnWidth);
				}
			}else{
				columnModel.getColumn(i).setMinWidth(0);
				columnModel.getColumn(i).setMaxWidth(0);
				columnModel.getColumn(i).setPreferredWidth(0);
			}
		}
		
		this.computePercentageColumnWidths();		
		this.initEditors();
	}