public MacroCreation() {
		
		temp_body = new ArrayList<Code>(1);
		
		
		add(pB, BorderLayout.SOUTH);
		add(pL, BorderLayout.CENTER);
		add(mBL, BorderLayout.WEST);
		add(mN, BorderLayout.NORTH);

		// When user clicks Save Button
		mN.ok.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {

				// Make sure user enters a name for macro
				if (mN.tx.getText().trim().equalsIgnoreCase("")) {
					JOptionPane.showMessageDialog(null, "You left the Macro Name field blank.", "Macro must have a name.",
							JOptionPane.ERROR_MESSAGE);
					return;
				}

				// Make sure there is not already a macro with this name
				if (Util.cntrl.getMacroMap().containsKey(mN.tx.getText().trim())) {
					JOptionPane.showMessageDialog(null, "Macro name is in use.", "Macro name in use.",
							JOptionPane.ERROR_MESSAGE);
					return;
				}

				if (temp_body.isEmpty() ||temp_body == null || temp_body.get(0) == null) {
					JOptionPane.showMessageDialog(null, "The Macro does not have any code in it.",
							"Empty Macro", JOptionPane.ERROR_MESSAGE);
					return;
				}
				
				//delete
				System.out.println("On Save: Printing what is in the list:");
				for(int i = 0; i < temp_body.size(); i++){
					System.out.println(temp_body.get(i).getClass().toString());
				}
				
				String name = mN.tx.getText().trim();
				
				CustomCode cc = new CustomCode(name, temp_body);
				
				Util.cntrl.getMacroMap().put(cc.getName(), cc);
				
				// Save to list
				if (Customs.model.get(0).equals("No Custom Actions created")) {
					Customs.model.remove(0);
				}

				Customs.model.addElement(cc.getName());
				CustomButtons.delete.setEnabled(true);
				

				// Explicitly tell class that there is a switch between pseudocodes
				PseudocodeList.isMacro = false;
				
				// Enable create macro button in Customs/CustomButtons panel
				CustomButtons.create.setEnabled(true);
				
				
				// Make this dialog disappear
				setVisible(false);
				dispose();
			
				
				return;
			}
		});
	


	}