Exemplo n.º 1
0
void		init_bts2(t_linkedlist **bts, t_bunny_pixelarray *buff)
{
  append_elem(bts, init_bt(buff, buttons_erase(),
			   &on_eraser_click));
  append_elem(bts, init_bt(buff, buttons_more_border(),
			   &on_plus_click));
  append_elem(bts, init_bt(buff, buttons_less_border(),
			   &on_less_click));
  append_elem(bts, init_bt(buff, buttons_clean_border(),
			   &on_reset_workplan_click));
  append_elem(bts, init_bt(buff, buttons_color(),
			   &on_palette_click));
  append_elem(bts, init_bt(buff, buttons_load(),
			   &on_load_tkp_click));
  append_elem(bts, init_bt(buff, buttons_save(),
			   &on_save_tkp_click));
  append_elem(bts, init_bt(buff, buttons_load_bmp(),
			   &on_load_bmp_click));
}
Exemplo n.º 2
0
// Load a new bank into open buttons window
void buttons_new_bank(Buttons *buttons,short func,Cfg_ButtonBank *use_bank)
{
	Cfg_ButtonBank *bank;
	IPCData *ipc;

	// Check for change
	if (!buttons_check_change(buttons,1)) return;

	// Save old bank pointer
	bank=buttons->bank;

	// New?
	if (func==MENU_TOOLBAR_BUTTONS_NEW)
	{
		// Create new button bank
		if (!(buttons->bank=NewButtonBank(1,1)))
		{
			// Restore old pointer
			buttons->bank=bank;
			return;
		}

		// Free old bank
		CloseButtonBank(bank);
	}

	// Load?
	else
	if (func==MENU_OPEN_BUTTONS_LOCAL)
	{
		// Open button bank
		if (!(buttons_load(buttons,GUI->screen_pointer,0)))
			return;
	}

	// Defaults
	else
	if (func==MENU_TOOLBAR_RESET_DEFAULTS)
	{
		// Open button bank
		if (!(buttons_load(buttons,GUI->screen_pointer,"dopus5:buttons/toolbar_default")))
			return;
	}

	// Restore
	else
	if (func==MENU_TOOLBAR_RESTORE)
	{
		// Copy backup bank
		if (!(buttons->bank=CopyButtonBank(buttons->backup)))
		{
			// Restore old pointer
			buttons->bank=bank;
			return;
		}

		// Free old bank
		CloseButtonBank(bank);
	}

	// Last saved
	else
	if (buttons->last_saved[0])
	{
		// Open button bank
		if (!(buttons_load(buttons,GUI->screen_pointer,buttons->last_saved)))
			return;
	}

	// Lock process list
	lock_listlock(&GUI->process_list,FALSE);

	// Find editor
	if ((ipc=IPC_FindProc(&GUI->process_list,NAME_BUTTON_EDITOR_RUN,0,0)))
	{
		// Set flag in bank
		buttons->bank->window.flags|=BTNWF_TOOLBAR;

		// Tell editor to change bank pointer
		IPC_Command(
			buttons->editor,
			BUTTONEDIT_CHANGE_BANK,
			(ULONG)bank,
			buttons->bank,
			0,
			REPLY_NO_PORT);
	}

	// Unlock the process list
	unlock_listlock(&GUI->process_list);

	// Signal for re-open
	IPC_Command(buttons->ipc,BUTTONEDIT_REOPEN,0,0,0,0);

	// Clear change flag
	buttons->flags&=~BUTTONF_CHANGED;
}