public void refreshLayout(){
		
		//setLayout(gLayout);
		
		ArrayList<GridElement> tempList = new ArrayList<GridElement>();
		
		//if(parent instanceof MainPanel){
			tempList.addAll(currList); 
		/*} else{
			for(GridElement ge : currList){
				if(player.getFavorites().contains(ge)){
					System.out.println(this );
					tempList.add(ge);
				}
			}
		}*/
		
		gLayout = determineLayout(tempList);
		
		int itemIndex = 0;
		
		gridCoord = new GridElement[gLayout.getRows()][gLayout.getColumns()]; 
		
		
		for(int r = 0; r < gLayout.getRows(); r++){
			for(int c = 0; c < gLayout.getColumns(); c++){
				if(itemIndex < currList.size()){
					//System.out.println("SETTING " + currList.get(itemIndex).getItem().getName() + " at r:" + r + " c:" + c);
					currList.get(itemIndex).setBounds(c * gridElementWidth, r * gridElementHeight, 
							gridElementWidth, gridElementHeight);
					gridCoord[r][c] = currList.get(itemIndex);
					currList.get(itemIndex).setCoord(r, c);
					currList.get(itemIndex).setVisible(true);
					itemIndex++;
				}
			}
		}
		
		if(currList.size() > 0){
			//System.out.println("GRID COORD SIZE AFTER INIT " + gridCoord.length + " " + gLayout.getRows() 
				//	+ " " + gLayout.getColumns() + " " + currList.size());
			
			//GRID COORD PRINTOUT
			/*for(int i = 0; i < gridCoord.length; i++){
				for(int j = 0; j < gridCoord[i].length; j++){
					if(i * gLayout.getColumns() + j < currList.size()){
						System.out.println("GRID: " + i + " " + j + " " + gridCoord[i][j].getItem().getName());
					}
				}
			}*/
		}
		
		System.out.println("");
		
		add(new JLabel(""));
		
		this.setPreferredSize(new Dimension(gLayout.getColumns() * gridElementWidth, gLayout.getRows() * gridElementHeight));
		revalidate();
		this.repaint();
		
		//this.setSize(gLayout.getColumns() * gridElementWidth, gLayout.getRows() * gridElementHeight);
		//System.out.println("width " + this.getWidth() + " height " + this.getHeight());
	}