Esempio n. 1
0
gboolean object_manager_add_object (ObjectManager *self,
                                    MaestroObject *object,
                                    GError       **error)
{

   gboolean ret = FALSE;

   if (validate_variable_name(self, object, error))
   {
      ObjectDesc object_desc;

      ret = maestro_object_get_interface(object, &object_desc.interface, error) &&
            maestro_object_get_name(object, &object_desc.name, error);

      if (ret)
      {
         // ObjectManager стал владельцем объекта
         self->object_list = g_slist_prepend(self->object_list, object);
         g_object_ref(object);

         g_signal_emit(self, signals[SIGNAL_OBJECT_ADDED], 0, &object_desc);
      }
   }
   return ret;
}
Esempio n. 2
0
void CAddVariableDlg::OnOK() 
{
	// validation name
	validate_variable_name(RESET_FOCUS);

	// validate data
	if ( m_name_validated ) {
		validate_data(RESET_FOCUS);
	}

	// both ok, then store results
	if ( m_name_validated && m_data_validated ) {
//		int sexp_add_variable(char *text, char*, int type);
//		char temp_name[32];
//		char temp_value[32];
//		strcpy_s(temp_name, m_variable_name);
//		strcpy_s(temp_value, m_default_value);
		// SEXP_VARIABLE_NUMBER SEXP_VARIABLE_STRING
//		int type;
//
//		if (m_type_number) {
//			type = SEXP_VARIABLE_NUMBER;
//		} else {
//			type = SEXP_VARIABLE_STRING;
//		}
//
//		// Goober5000
//		if (m_type_player_persistent) {
//			type |= SEXP_VARIABLE_PLAYER_PERSISTENT;
//		} else if (m_type_campaign_persistent) {
//			type |= SEXP_VARIABLE_CAMPAIGN_PERSISTENT;
//		}
//
//		m_sexp_var_index = sexp_add_variable(temp_value, temp_name, type);
//		this get done for free CDialog::OnOk() UpdateData(TRUE);
		m_create = true;

		CDialog::OnOK();
	}
}