Ejemplo n.º 1
0
QuestEditor::QuestEditor( QWidget * parent, const char * name )
: QDialog( parent )
{
	setWindowTitle( QString ( name ));
	_quest = 0;

	_name = new AskString( tr( "Name: " ), this );
	_description = new AskString( tr( "Description: " ), this );
	_type = new AskCombo( tr( "Type: " ), this );
	_type->insertItem( Quest::getTypeName( Quest::ONLY_ONE ) );
	_type->insertItem( Quest::getTypeName( Quest::ONE_PERPLAYER ) );
	_type->insertItem( Quest::getTypeName( Quest::ONE_PERLORD ) );
	_type->insertItem( Quest::getTypeName( Quest::ANYONE ) );
	_needConfirmation = new AskBool( tr( "Ask player confirmation of quest" ), this );
	_confirmationQuestion = new AskString( tr( "Confirmation question: " ), this );

	QPushButton * pbOk = new QPushButton( this );
	pbOk->setText( tr( "Ok" ) );
	FIXEDSIZE( pbOk );

	QPushButton * pbCancel = new QPushButton( this );
	pbCancel->setText( tr( "Cancel" ) );
	FIXEDSIZE( pbCancel );

	QHBoxLayout * layH = new QHBoxLayout();
	layH->addStretch( 1 );
	layH->addWidget( pbOk );
	layH->addStretch( 1 );
	layH->addWidget( pbCancel );
	layH->addStretch( 1 );

	_editStartCondition = new QuestConditionEditor( this );
	_editStartCondition->setTitle( tr( "Start condition: " ) );

	_editFailCondition = new QuestConditionEditor( this );
	_editFailCondition->setTitle( tr( "Fail condition: " ) );

	_editSuccessCondition = new QuestConditionEditor( this );
	_editSuccessCondition->setTitle( tr( "Success condition: " ) );

	QVBoxLayout * layout = new QVBoxLayout( this );
	layout->setMargin( 5 );
	layout->setSpacing( 5 );
	layout->addWidget( _name );
	layout->addWidget( _description );
	layout->addWidget( _type );
	layout->addWidget( _needConfirmation );
	layout->addWidget( _confirmationQuestion );
	layout->addWidget( _editStartCondition );
	layout->addWidget( _editFailCondition );
	layout->addWidget( _editSuccessCondition );
	layout->addStretch( 1 );
	layout->addLayout( layH );
	layout->activate();

	connect( pbOk, SIGNAL( clicked() ), SLOT( accept() ) );
	connect( pbCancel, SIGNAL( clicked() ), SLOT( reject() ) );
	connect( _needConfirmation, SIGNAL( sig_changed() ), SLOT( slot_confirmation() ) );
	slot_confirmation();
}
Ejemplo n.º 2
0
void MidiRules::combo_changed() {
    if (update_model) return;

    int rowno = combo.get_active_row_number();

    if (remove_unknown_from_combo()) {
        rowno--;
    }

    gig::MidiRule* rule = m->GetMidiRule(0);
    switch (rowno) {
    case NONE:
        if (rule) {
            m->DeleteMidiRule(0);
            set_instrument(m);
        }
        break;
    case CTRL_TRIGGER:
        if (!dynamic_cast<gig::MidiRuleCtrlTrigger*>(rule)) {
            m->AddMidiRuleCtrlTrigger();
            set_instrument(m);
        }
        break;
    case LEGATO:
        if (!dynamic_cast<gig::MidiRuleLegato*>(rule)) {
            m->AddMidiRuleLegato();
            set_instrument(m);
        }
        break;
    }
    sig_changed();
}
Ejemplo n.º 3
0
void MidiRuleCtrlTrigger::row_changed(const Gtk::TreeModel::Path& path,
                                      const Gtk::TreeModel::iterator& iter) {
    if (update_model) return;

    Gtk::TreeModel::Row row = *iter;
    int i = path[0];

    if (m->pTriggers[i].Velocity == 255 && row[columns.switch_logic]) {
        update_model++;
        row[columns.velocity] = 100;
        update_model--;
    }

    int key = note_value(row[columns.key]);

    if (m->pTriggers[i].TriggerPoint != row[columns.trigger_point] ||
        m->pTriggers[i].Descending != row[columns.descending] ||
        m->pTriggers[i].VelSensitivity != row[columns.vel_sensitivity] ||
        m->pTriggers[i].Key != key ||
        m->pTriggers[i].NoteOff != row[columns.note_off] ||
        (m->pTriggers[i].Velocity != 255) != row[columns.switch_logic] ||
        m->pTriggers[i].Velocity != row[columns.velocity] ||
        m->pTriggers[i].OverridePedal != row[columns.override_pedal])
    {
        m->pTriggers[i].TriggerPoint = row[columns.trigger_point];
        m->pTriggers[i].Descending = row[columns.descending];
        m->pTriggers[i].VelSensitivity = row[columns.vel_sensitivity];
        m->pTriggers[i].Key = key;
        m->pTriggers[i].NoteOff = row[columns.note_off];
        m->pTriggers[i].Velocity =
            row[columns.switch_logic] ? row[columns.velocity] : 255;
        m->pTriggers[i].OverridePedal = row[columns.override_pedal];
        sig_changed();
    }
}
Ejemplo n.º 4
0
void MidiRuleCtrlTrigger::row_deleted(const Gtk::TreeModel::Path& path) {
    if (update_model) return;
    for (int i = path[0] + 1 ; i < m->Triggers ; i++) {
        m->pTriggers[i - 1] = m->pTriggers[i];
    }
    m->Triggers--;
    add_button.set_sensitive();
    sig_changed();
}
Ejemplo n.º 5
0
void MidiRuleCtrlTrigger::row_inserted(const Gtk::TreeModel::Path& path,
                                       const Gtk::TreeModel::iterator& iter) {
    if (update_model) return;
    int i = m->Triggers++;
    m->pTriggers[i].TriggerPoint = 64;
    m->pTriggers[i].Descending = false;
    m->pTriggers[i].VelSensitivity = 50;
    m->pTriggers[i].Key = 60;
    m->pTriggers[i].NoteOff = false;
    m->pTriggers[i].Velocity = 255;
    m->pTriggers[i].OverridePedal = false;
    add_button.set_sensitive();
    if (m->Triggers == 32) add_button.set_sensitive(false);
    sig_changed();
}
Ejemplo n.º 6
0
void Calendar::newDay()
{
	_day++;
	_daynum++;
	_turn++;
	if( _day > FIRST_LEVEL ) {
		_day = 1;
		_week++;
	}
	if( _week > SECOND_LEVEL ) {
		_week = 1;
		_month++;
		_daynum = 1;
	}
	if( _month > THIRD_LEVEL ) {
		_month = 1;
		_year++;
	}
	
	emit sig_changed();
}
Ejemplo n.º 7
0
void SectionCreature::save()
{
	DataTheme.creatures.getRace( _race )->setName( _nameRace->getValue() );
	_editCreature->save( _race, _creature );
	emit sig_changed();
}
Ejemplo n.º 8
0
SectionSelector::SectionSelector( QWidget * parent, const char * name )
	: QTabWidget( parent )
{
	setWindowTitle( QString ( name ));
	AttalScrollView * viewGeneral = new AttalScrollView( 0 );
	_general = new SectionGeneral( 0, "general" );
	viewGeneral->setSection( _general );
	addTab( viewGeneral, tr( "General" ) );

	AttalScrollView * viewArtefact = new AttalScrollView( 0 );
	_artefact = new SectionArtefact( 0, "artefact" );
	viewArtefact->setSection( _artefact );
	addTab( viewArtefact, tr( "Artefacts" ) );

	AttalScrollView * viewTeam = new AttalScrollView( 0 );
	_team = new SectionTeam( 0, "team" );
	viewTeam->setSection( _team );
	addTab( viewTeam, tr( "Teams" ) );

	AttalScrollView * viewBase = new AttalScrollView( 0 );
	_base = new SectionBase( 0, "base" );
	viewBase->setSection( _base );
	addTab( viewBase, tr( "Bases" ) );

	AttalScrollView * viewBuilding = new AttalScrollView( 0 );
	_building = new SectionBuilding( 0, "building" );
	viewBuilding->setSection( _building );
	addTab( viewBuilding, tr( "Buildings" ) );

	AttalScrollView * viewCreature = new AttalScrollView( 0 );
	_creature = new SectionCreature( 0, "creatures" );
	viewCreature->setSection( _creature );
	addTab( viewCreature, tr( "Creatures" ) );

	AttalScrollView * viewDecoration = new AttalScrollView( 0 );
	_decoration = new SectionDecoration( 0, "decoration" );
	viewDecoration->setSection( _decoration );
	addTab( viewDecoration, tr( "Decorations" ) );

	AttalScrollView * viewGround = new AttalScrollView( 0 );
	_ground = new SectionGround( 0, "ground" );
	viewGround->setSection( _ground );
	addTab( viewGround, tr( "Grounds" ) );

	AttalScrollView * viewLordCategory = new AttalScrollView( 0 );
	_lordCategories = new SectionLordCategory( 0, "lord categories" );
	viewLordCategory->setSection( _lordCategories );
	addTab( viewLordCategory, tr( "Lord Categories" ) );

	AttalScrollView * viewLord = new AttalScrollView( 0 );
	_lord = new SectionLord( 0, "lords" );
	viewLord->setSection( _lord );
	addTab( viewLord, tr( "Lords" ) );

	AttalScrollView * viewExperience = new AttalScrollView( 0 );
	_experience = new SectionExperience( 0, "experience" );
	viewExperience->setSection( _experience );
	addTab( viewExperience, tr( "Levels" ) );

	AttalScrollView * viewResource = new AttalScrollView( 0 );
	_resource = new SectionResource( 0, "resources" );
	viewResource->setSection( _resource );
	addTab( viewResource, tr( "Resources" ) );

	AttalScrollView * viewMachine = new AttalScrollView( 0 );
	_machine = new SectionMachine( 0, "machines" );
	viewMachine->setSection( _machine );
	addTab( viewMachine, tr( "War Machines" ) );

	connect( this, SIGNAL( currentChanged( int ) ), SLOT( slot_changed( int ) ) );
	connect( _creature, SIGNAL( sig_changed() ), SLOT( slot_creaturesChanged() ) );
	connect( _lordCategories, SIGNAL( sig_changed() ), SLOT( slot_lordCategoryChanged() ) );
	connect( _general, SIGNAL( sig_changed() ), SLOT( slot_generalChanged() ) );

	_current = _general;
}