|
Packit Service |
b98cfc |
/*
|
|
Packit Service |
b98cfc |
* qlo10k1 - GUI frontend for ld10k1
|
|
Packit Service |
b98cfc |
*
|
|
Packit Service |
b98cfc |
* Copyright (c) 2004 by Peter Zubaj
|
|
Packit Service |
b98cfc |
*
|
|
Packit Service |
b98cfc |
* This program is free software; you can redistribute it and/or modify
|
|
Packit Service |
b98cfc |
* it under the terms of the GNU General Public License as published by
|
|
Packit Service |
b98cfc |
* the Free Software Foundation; either version 2 of the License, or
|
|
Packit Service |
b98cfc |
* (at your option) any later version.
|
|
Packit Service |
b98cfc |
*
|
|
Packit Service |
b98cfc |
* This program is distributed in the hope that it will be useful,
|
|
Packit Service |
b98cfc |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
b98cfc |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit Service |
b98cfc |
* GNU General Public License for more details.
|
|
Packit Service |
b98cfc |
*
|
|
Packit Service |
b98cfc |
* You should have received a copy of the GNU General Public License
|
|
Packit Service |
b98cfc |
* along with this program; if not, write to the Free Software
|
|
Packit Service |
b98cfc |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
Packit Service |
b98cfc |
*
|
|
Packit Service |
b98cfc |
*/
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
#include <qlineedit.h>
|
|
Packit Service |
b98cfc |
#include <qlistbox.h>
|
|
Packit Service |
b98cfc |
#include <qpushbutton.h>
|
|
Packit Service |
b98cfc |
#include <qinputdialog.h>
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
#include "patchdialog.h"
|
|
Packit Service |
b98cfc |
#include "structure_patch.h"
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
PatchDlg::PatchDlg(StrGlobal *glob, StrPatch *p)
|
|
Packit Service |
b98cfc |
: PatchDialogBase()
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
global = glob;
|
|
Packit Service |
b98cfc |
patch = p;
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
lePatchName->setText(p->name());
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
// load controls list
|
|
Packit Service |
b98cfc |
/*
|
|
Packit Service |
b98cfc |
FIXME
|
|
Packit Service |
b98cfc |
int i;
|
|
Packit Service |
b98cfc |
for (i = 0; i < file->ctrl_count; i++)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
QString text = getName(i);
|
|
Packit Service |
b98cfc |
lbFileCtrl->insertItem(text);
|
|
Packit Service |
b98cfc |
ctrlFileList.append(i);
|
|
Packit Service |
b98cfc |
}*/
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
// set default in names
|
|
Packit Service |
b98cfc |
/* FIXME
|
|
Packit Service |
b98cfc |
switch (file->in_count)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
case 1:
|
|
Packit Service |
b98cfc |
inputNames.append("I");
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
case 2:
|
|
Packit Service |
b98cfc |
inputNames.append("IL");
|
|
Packit Service |
b98cfc |
inputNames.append("IR");
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
case 4:
|
|
Packit Service |
b98cfc |
inputNames.append("IL");
|
|
Packit Service |
b98cfc |
inputNames.append("IR");
|
|
Packit Service |
b98cfc |
inputNames.append("IRL");
|
|
Packit Service |
b98cfc |
inputNames.append("IRR");
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
case 6:
|
|
Packit Service |
b98cfc |
inputNames.append("IL");
|
|
Packit Service |
b98cfc |
inputNames.append("IR");
|
|
Packit Service |
b98cfc |
inputNames.append("IRL");
|
|
Packit Service |
b98cfc |
inputNames.append("IRR");
|
|
Packit Service |
b98cfc |
inputNames.append("IC");
|
|
Packit Service |
b98cfc |
inputNames.append("ILFE");
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
default:
|
|
Packit Service |
b98cfc |
for (i = 0; i < file->in_count; i++)
|
|
Packit Service |
b98cfc |
inputNames.append("");
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
// set default out names
|
|
Packit Service |
b98cfc |
switch (file->out_count)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
case 1:
|
|
Packit Service |
b98cfc |
outputNames.append("O");
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
case 2:
|
|
Packit Service |
b98cfc |
outputNames.append("OL");
|
|
Packit Service |
b98cfc |
outputNames.append("OR");
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
case 4:
|
|
Packit Service |
b98cfc |
outputNames.append("OL");
|
|
Packit Service |
b98cfc |
outputNames.append("OR");
|
|
Packit Service |
b98cfc |
outputNames.append("ORL");
|
|
Packit Service |
b98cfc |
outputNames.append("ORR");
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
case 6:
|
|
Packit Service |
b98cfc |
outputNames.append("OL");
|
|
Packit Service |
b98cfc |
outputNames.append("OR");
|
|
Packit Service |
b98cfc |
outputNames.append("ORL");
|
|
Packit Service |
b98cfc |
outputNames.append("ORR");
|
|
Packit Service |
b98cfc |
outputNames.append("OC");
|
|
Packit Service |
b98cfc |
outputNames.append("OLFE");
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
default:
|
|
Packit Service |
b98cfc |
for (i = 0; i < file->out_count; i++)
|
|
Packit Service |
b98cfc |
outputNames.append("");
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
for (i = 0; i < file->in_count; i++)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
lbInputs->insertItem(inputNames[i]);
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
RouteInfo r;
|
|
Packit Service |
b98cfc |
inRoutes.append(r);
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
lbConnInputs->insertItem(getRouteName(false, i));
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
for (i = 0; i < file->out_count; i++)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
lbOutputs->insertItem(outputNames[i]);
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
RouteInfo r;
|
|
Packit Service |
b98cfc |
outRoutes.append(r);
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
lbConnOutputs->insertItem(getRouteName(true, i));
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
*/
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
connect(pbOK, SIGNAL(clicked()), this, SLOT(okClicked()));
|
|
Packit Service |
b98cfc |
connect(pbCancel, SIGNAL(clicked()), this, SLOT(cancelClicked()));
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
connect(lbInputs, SIGNAL(doubleClicked(QListBoxItem *)), this, SLOT(inputsDoubleClicked(QListBoxItem *)));
|
|
Packit Service |
b98cfc |
connect(lbOutputs, SIGNAL(doubleClicked(QListBoxItem *)), this, SLOT(outputsDoubleClicked(QListBoxItem *)));
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
/*connect(pbCtrlAdd, SIGNAL(clicked()), this, SLOT(ctrlAddClicked()));
|
|
Packit Service |
b98cfc |
connect(pbCtrlDel, SIGNAL(clicked()), this, SLOT(ctrlDelClicked()));
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
connect(lbLoadedCtrl, SIGNAL(doubleClicked(QListBoxItem *)), this, SLOT(loadedDoubleClicked(QListBoxItem *)));
|
|
Packit Service |
b98cfc |
connect(lbFileCtrl, SIGNAL(doubleClicked(QListBoxItem *)), this, SLOT(fileDoubleClicked(QListBoxItem *)));
|
|
Packit Service |
b98cfc |
*/
|
|
Packit Service |
b98cfc |
connect(lbConnInputs, SIGNAL(doubleClicked(QListBoxItem *)), this, SLOT(connInputsDoubleClicked(QListBoxItem *)));
|
|
Packit Service |
b98cfc |
connect(lbConnOutputs, SIGNAL(doubleClicked(QListBoxItem *)), this, SLOT(connOutputsDoubleClicked(QListBoxItem *)));
|
|
Packit Service |
b98cfc |
/*
|
|
Packit Service |
b98cfc |
connect(cbInsertInRep, SIGNAL(stateChanged(int)), this, SLOT(insertInRepStateChanged(int)));
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
connect(rbArchBoth, SIGNAL(clicked()), this, SLOT(archBothClicked()));
|
|
Packit Service |
b98cfc |
connect(rbArchEmu10k1, SIGNAL(clicked()), this, SLOT(archEmu10k1Clicked()));
|
|
Packit Service |
b98cfc |
connect(rbArchEmu10k2, SIGNAL(clicked()), this, SLOT(archEmu10k2Clicked()));
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
tabRepository2->setEnabled(false);*/
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
/*QString LoadPatchDlg::getName(int i)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
EMU10k1CtrlReg *ctrl;
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
ctrl = &(file->ctrls[i]);
|
|
Packit Service |
b98cfc |
QString name = QString(ctrl->name) + " - " + QString().setNum(ctrl->value) +
|
|
Packit Service |
b98cfc |
" (" + QString().setNum(ctrl->min) + "," + + QString().setNum(ctrl->max) + ")";
|
|
Packit Service |
b98cfc |
return name;
|
|
Packit Service |
b98cfc |
}*/
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
/*QString LoadPatchDlg::getRouteName(bool output, int i)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
QString name;
|
|
Packit Service |
b98cfc |
RouteInfo ri;
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
if (output)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
name = outputNames[i];
|
|
Packit Service |
b98cfc |
ri = outRoutes[i];
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
else
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
name = inputNames[i];
|
|
Packit Service |
b98cfc |
ri = inRoutes[i];
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
switch (ri.io)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
case RouteInfo::None:
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
case RouteInfo::FX:
|
|
Packit Service |
b98cfc |
name += QString(" -> FX:") + global->Registers.at(ri.reg)->name();
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
case RouteInfo::In:
|
|
Packit Service |
b98cfc |
name += QString(" -> In:") + global->Registers.at(ri.reg)->name();
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
case RouteInfo::Out:
|
|
Packit Service |
b98cfc |
name += QString(" -> Out:") + global->Registers.at(ri.reg)->name();
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
case RouteInfo::PatchIn:
|
|
Packit Service |
b98cfc |
case RouteInfo::PatchOut:
|
|
Packit Service |
b98cfc |
StrPatch *patch = global->Patches.at(ri.patch);
|
|
Packit Service |
b98cfc |
if (ri.io == RouteInfo::PatchIn)
|
|
Packit Service |
b98cfc |
name += QString(" -> In:") + patch->name() + "-" + patch->Registers.at(ri.reg)->name();
|
|
Packit Service |
b98cfc |
else
|
|
Packit Service |
b98cfc |
name += QString(" -> Out:") + patch->name() + "-" + patch->Registers.at(ri.reg)->name();
|
|
Packit Service |
b98cfc |
break;
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
return name;
|
|
Packit Service |
b98cfc |
}*/
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
void PatchDlg::okClicked()
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
// update routing and rename patch
|
|
Packit Service |
b98cfc |
done(Accepted);
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
void PatchDlg::cancelClicked()
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
done(Rejected);
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
void PatchDlg::inputsDoubleClicked(QListBoxItem *item)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
/*bool ok;
|
|
Packit Service |
b98cfc |
int idx = lbInputs->index(item);
|
|
Packit Service |
b98cfc |
QString text = inputNames[idx];
|
|
Packit Service |
b98cfc |
text = QInputDialog::getText(
|
|
Packit Service |
b98cfc |
APP_NAME, "Input name:", QLineEdit::Normal,
|
|
Packit Service |
b98cfc |
text, &ok, this );
|
|
Packit Service |
b98cfc |
if (ok && !text.isEmpty())
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
inputNames[idx] = text;
|
|
Packit Service |
b98cfc |
lbInputs->changeItem(text, idx);
|
|
Packit Service |
b98cfc |
lbConnInputs->changeItem(getRouteName(false, idx), idx);
|
|
Packit Service |
b98cfc |
}*/
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
void PatchDlg::outputsDoubleClicked(QListBoxItem *item)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
/*bool ok;
|
|
Packit Service |
b98cfc |
int idx = lbOutputs->index(item);
|
|
Packit Service |
b98cfc |
QString text = outputNames[idx];
|
|
Packit Service |
b98cfc |
text = QInputDialog::getText(
|
|
Packit Service |
b98cfc |
APP_NAME, "Output name:", QLineEdit::Normal,
|
|
Packit Service |
b98cfc |
text, &ok, this );
|
|
Packit Service |
b98cfc |
if (ok && !text.isEmpty())
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
outputNames[idx] = text;
|
|
Packit Service |
b98cfc |
lbOutputs->changeItem(text, idx);
|
|
Packit Service |
b98cfc |
lbConnOutputs->changeItem(getRouteName(false, idx), idx);
|
|
Packit Service |
b98cfc |
}*/
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
void PatchDlg::connInputsDoubleClicked(QListBoxItem *item)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
/*int idx = lbConnInputs->index(item);
|
|
Packit Service |
b98cfc |
RouteInfo ri = inRoutes[idx];
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
ConnectionWizard d(false, global, &ri);
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
if (d.exec() == QDialog::Accepted)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
inRoutes[idx] = ri;
|
|
Packit Service |
b98cfc |
lbConnInputs->changeItem(getRouteName(false, idx), idx);
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
*/
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
void PatchDlg::connOutputsDoubleClicked(QListBoxItem *item)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
/*int idx = lbConnOutputs->index(item);
|
|
Packit Service |
b98cfc |
RouteInfo ri = outRoutes[idx];
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
ConnectionWizard d(true, global, &ri);
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
if (d.exec() == QDialog::Accepted)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
outRoutes[idx] = ri;
|
|
Packit Service |
b98cfc |
lbConnOutputs->changeItem(getRouteName(true, idx), idx);
|
|
Packit Service |
b98cfc |
}*/
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
/*LD10k1Route LoadPatchDlg::getRoute(bool out, int idx)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
RouteInfo *route;
|
|
Packit Service |
b98cfc |
if (out)
|
|
Packit Service |
b98cfc |
route = &(outRoutes[idx]);
|
|
Packit Service |
b98cfc |
else
|
|
Packit Service |
b98cfc |
route = &(inRoutes[idx]);
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
LD10k1Route nroute;
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
nroute.PatchTo = route->patch;
|
|
Packit Service |
b98cfc |
nroute.Multi = route->multi;
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
if (route->patch >= 0 && route->reg >= 0)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
StrPatch *patch = global->Patches.at(route->patch);
|
|
Packit Service |
b98cfc |
StrRegister *reg = patch->Registers.at(route->reg);
|
|
Packit Service |
b98cfc |
nroute.RegTo = reg->idx();
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
else if (route->reg >= 0)
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
StrRegister *reg = global->Registers.at(route->reg);
|
|
Packit Service |
b98cfc |
nroute.RegTo = reg->phIdx();
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
else
|
|
Packit Service |
b98cfc |
{
|
|
Packit Service |
b98cfc |
nroute.RegTo = -1;
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
|
|
Packit Service |
b98cfc |
return nroute;
|
|
Packit Service |
b98cfc |
}
|
|
Packit Service |
b98cfc |
*/
|