Band button migration to widget is complete.

widgets
Elliott Liggett 2023-02-10 13:17:23 -08:00
rodzic 455a9c7363
commit ded0aa56e1
4 zmienionych plików z 36 dodań i 879 usunięć

Wyświetl plik

@ -6,6 +6,10 @@ bandbuttons::bandbuttons(QWidget *parent) :
ui(new Ui::bandbuttons)
{
ui->setupUi(this);
ui->bandStkLastUsedBtn->setVisible(false);
ui->bandStkVoiceBtn->setVisible(false);
ui->bandStkDataBtn->setVisible(false);
ui->bandStkCWBtn->setVisible(false);
}
bandbuttons::~bandbuttons()

Wyświetl plik

@ -968,11 +968,6 @@ void wfmain::setupMainUI()
{
createSettingsListItems();
ui->bandStkLastUsedBtn->setVisible(false);
ui->bandStkVoiceBtn->setVisible(false);
ui->bandStkDataBtn->setVisible(false);
ui->bandStkCWBtn->setVisible(false);
ui->baudRateCombo->insertItem(0, QString("115200"), 115200);
ui->baudRateCombo->insertItem(1, QString("57600"), 57600);
ui->baudRateCombo->insertItem(2, QString("38400"), 38400);
@ -4709,8 +4704,6 @@ void wfmain::receiveRigID(rigCapabilities rigCaps)
}
ui->scopeBWCombo->blockSignals(false);
setBandButtons();
ui->tuneEnableChk->setEnabled(rigCaps.hasATU);
ui->tuneNowBtn->setEnabled(rigCaps.hasATU);
@ -6080,170 +6073,9 @@ void wfmain::handleBandStackReg(freqt freqGo, char mode, char filter, bool dataO
receiveMode((unsigned char) mode, (unsigned char) filter); // update UI
}
void wfmain::bandStackBtnClick()
{
bandStkRegCode = ui->bandStkPopdown->currentIndex() + 1;
waitingForBandStackRtn = true; // so that when the return is parsed we jump to this frequency/mode info
emit getBandStackReg(bandStkBand, bandStkRegCode);
}
void wfmain::setBand(int band)
{
issueCmdUniquePriority(cmdGetBandStackReg, (char)band);
//bandStackBtnClick();
}
void wfmain::on_band23cmbtn_clicked()
{
bandStkBand = rigCaps.bsr[band23cm]; // 23cm
bandStackBtnClick();
}
void wfmain::on_band70cmbtn_clicked()
{
bandStkBand = rigCaps.bsr[band70cm]; // 70cm
bandStackBtnClick();
}
void wfmain::on_band2mbtn_clicked()
{
bandStkBand = rigCaps.bsr[band2m]; // 2m
bandStackBtnClick();
}
void wfmain::on_bandAirbtn_clicked()
{
bandStkBand = rigCaps.bsr[bandAir]; // VHF Aircraft
bandStackBtnClick();
}
void wfmain::on_bandWFMbtn_clicked()
{
bandStkBand = rigCaps.bsr[bandWFM]; // Broadcast FM
bandStackBtnClick();
}
void wfmain::on_band4mbtn_clicked()
{
// There isn't a BSR for this one:
freqt f;
if ((currentMode == modeAM) || (currentMode == modeFM))
{
f.Hz = (70.260) * 1E6;
} else {
f.Hz = (70.200) * 1E6;
}
issueCmd(cmdSetFreq, f);
//emit setFrequency(0,f);
issueDelayedCommandUnique(cmdGetFreq);
ui->tabWidget->setCurrentIndex(0);
}
void wfmain::on_band6mbtn_clicked()
{
bandStkBand = 0x10; // 6 meters
bandStackBtnClick();
}
void wfmain::on_band10mbtn_clicked()
{
bandStkBand = 0x09; // 10 meters
bandStackBtnClick();
}
void wfmain::on_band12mbtn_clicked()
{
bandStkBand = 0x08; // 12 meters
bandStackBtnClick();
}
void wfmain::on_band15mbtn_clicked()
{
bandStkBand = 0x07; // 15 meters
bandStackBtnClick();
}
void wfmain::on_band17mbtn_clicked()
{
bandStkBand = 0x06; // 17 meters
bandStackBtnClick();
}
void wfmain::on_band20mbtn_clicked()
{
bandStkBand = 0x05; // 20 meters
bandStackBtnClick();
}
void wfmain::on_band30mbtn_clicked()
{
bandStkBand = 0x04; // 30 meters
bandStackBtnClick();
}
void wfmain::on_band40mbtn_clicked()
{
bandStkBand = 0x03; // 40 meters
bandStackBtnClick();
}
void wfmain::on_band60mbtn_clicked()
{
// This one is tricky. There isn't a band stack register on the
// 7300 for 60 meters, so we just drop to the middle of the band:
// Channel 1: 5330.5 kHz
// Channel 2: 5346.5 kHz
// Channel 3: 5357.0 kHz
// Channel 4: 5371.5 kHz
// Channel 5: 5403.5 kHz
// Really not sure what the best strategy here is, don't want to
// clutter the UI with 60M channel buttons...
freqt f;
f.Hz = (5.3305) * 1E6;
issueCmd(cmdSetFreq, f);
//emit setFrequency(0,f);
issueDelayedCommandUnique(cmdGetFreq);
ui->tabWidget->setCurrentIndex(0);
}
void wfmain::on_band80mbtn_clicked()
{
bandStkBand = 0x02; // 80 meters
bandStackBtnClick();
}
void wfmain::on_band160mbtn_clicked()
{
bandStkBand = 0x01; // 160 meters
bandStackBtnClick();
}
void wfmain::on_band630mbtn_clicked()
{
freqt f;
f.Hz = 475 * 1E3;
//emit setFrequency(0,f);
issueCmd(cmdSetFreq, f);
issueDelayedCommandUnique(cmdGetFreq);
ui->tabWidget->setCurrentIndex(0);
}
void wfmain::on_band2200mbtn_clicked()
{
freqt f;
f.Hz = 136 * 1E3;
//emit setFrequency(0,f);
issueCmd(cmdSetFreq, f);
issueDelayedCommandUnique(cmdGetFreq);
ui->tabWidget->setCurrentIndex(0);
}
void wfmain::on_bandGenbtn_clicked()
{
// "GENE" general coverage frequency outside the ham bands
// which does probably include any 60 meter frequencies used.
bandStkBand = rigCaps.bsr[bandGen]; // GEN
bandStackBtnClick();
}
void wfmain::on_aboutBtn_clicked()
@ -6808,6 +6640,22 @@ void wfmain::setRadioTimeDateSend()
waitingToSetTimeDate = false;
}
void wfmain::showAndRaiseWidget(QWidget *w)
{
if(!w)
return;
if(w->isMinimized())
{
w->raise();
w->activateWindow();
return;
}
w->show();
w->raise();
w->activateWindow();
}
void wfmain::changeSliderQuietly(QSlider *slider, int value)
{
slider->blockSignals(true);
@ -7458,109 +7306,6 @@ void wfmain::hideButton(QPushButton *btn)
btn->setHidden(true);
}
void wfmain::setBandButtons()
{
// Turn off each button first:
hideButton(ui->band23cmbtn);
hideButton(ui->band70cmbtn);
hideButton(ui->band2mbtn);
hideButton(ui->bandAirbtn);
hideButton(ui->bandWFMbtn);
hideButton(ui->band4mbtn);
hideButton(ui->band6mbtn);
hideButton(ui->band10mbtn);
hideButton(ui->band12mbtn);
hideButton(ui->band15mbtn);
hideButton(ui->band17mbtn);
hideButton(ui->band20mbtn);
hideButton(ui->band30mbtn);
hideButton(ui->band40mbtn);
hideButton(ui->band60mbtn);
hideButton(ui->band80mbtn);
hideButton(ui->band160mbtn);
hideButton(ui->band630mbtn);
hideButton(ui->band2200mbtn);
hideButton(ui->bandGenbtn);
bandType bandSel;
//for (auto band = rigCaps.bands.begin(); band != rigCaps.bands.end(); ++band) // no worky
for(unsigned int i=0; i < rigCaps.bands.size(); i++)
{
bandSel = rigCaps.bands.at(i);
switch(bandSel.band)
{
case(band23cm):
showButton(ui->band23cmbtn);
break;
case(band70cm):
showButton(ui->band70cmbtn);
break;
case(band2m):
showButton(ui->band2mbtn);
break;
case(bandAir):
showButton(ui->bandAirbtn);
break;
case(bandWFM):
showButton(ui->bandWFMbtn);
break;
case(band4m):
showButton(ui->band4mbtn);
break;
case(band6m):
showButton(ui->band6mbtn);
break;
case(band10m):
showButton(ui->band10mbtn);
break;
case(band12m):
showButton(ui->band12mbtn);
break;
case(band15m):
showButton(ui->band15mbtn);
break;
case(band17m):
showButton(ui->band17mbtn);
break;
case(band20m):
showButton(ui->band20mbtn);
break;
case(band30m):
showButton(ui->band30mbtn);
break;
case(band40m):
showButton(ui->band40mbtn);
break;
case(band60m):
showButton(ui->band60mbtn);
break;
case(band80m):
showButton(ui->band80mbtn);
break;
case(band160m):
showButton(ui->band160mbtn);
break;
case(band630m):
showButton(ui->band630mbtn);
break;
case(band2200m):
showButton(ui->band2200mbtn);
break;
case(bandGen):
showButton(ui->bandGenbtn);
break;
default:
break;
}
}
}
void wfmain::on_rigCIVManualAddrChk_clicked(bool checked)
{
if(checked)
@ -9352,3 +9097,9 @@ void wfmain::resetUsbCommands()
void wfmain::receiveUsbSensitivity(int val) {
prefs.usbSensitivity = val;
}
void wfmain::on_showBandsBtn_clicked()
{
showAndRaiseWidget(bandbtns);
}

Wyświetl plik

@ -413,30 +413,6 @@ private slots:
void on_freqDial_valueChanged(int value);
void on_band6mbtn_clicked();
void on_band10mbtn_clicked();
void on_band12mbtn_clicked();
void on_band15mbtn_clicked();
void on_band17mbtn_clicked();
void on_band20mbtn_clicked();
void on_band30mbtn_clicked();
void on_band40mbtn_clicked();
void on_band60mbtn_clicked();
void on_band80mbtn_clicked();
void on_band160mbtn_clicked();
void on_bandGenbtn_clicked();
void on_aboutBtn_clicked();
void on_fStoBtn_clicked();
@ -551,22 +527,6 @@ private slots:
void on_ritEnableChk_clicked(bool checked);
void on_band23cmbtn_clicked();
void on_band70cmbtn_clicked();
void on_band2mbtn_clicked();
void on_band4mbtn_clicked();
void on_band630mbtn_clicked();
void on_band2200mbtn_clicked();
void on_bandAirbtn_clicked();
void on_bandWFMbtn_clicked();
void on_rigCIVManualAddrChk_clicked(bool checked);
void on_rigCIVaddrHexLine_editingFinished();
@ -760,6 +720,8 @@ private slots:
void on_cwButton_clicked();
void on_showBandsBtn_clicked();
private:
Ui::wfmain *ui;
void closeEvent(QCloseEvent *event);
@ -790,7 +752,6 @@ private:
void computePlasma();
void showHideSpectrum(bool show);
void getInitialRigState();
void setBandButtons();
void showButton(QPushButton *btn);
void hideButton(QPushButton *btn);
@ -1031,6 +992,7 @@ private:
void issueDelayedCommandPriority(cmds cmd);
void issueDelayedCommandUnique(cmds cmd);
void changeSliderQuietly(QSlider *slider, int value);
void showAndRaiseWidget(QWidget *w);
void statusFromSliderPercent(QString name, int percentValue);
void statusFromSliderRaw(QString name, int rawValue);

574
wfmain.ui
Wyświetl plik

@ -1234,573 +1234,6 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="bandTab">
<attribute name="title">
<string>Band</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Band</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_26">
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="band2200mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>2200m</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band630mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>630m</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band160mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>160m</string>
</property>
<property name="shortcut">
<string>L</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band80mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>80m</string>
</property>
<property name="shortcut">
<string>8</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QPushButton" name="band60mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>60m</string>
</property>
<property name="shortcut">
<string>S</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band40mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>40m</string>
</property>
<property name="shortcut">
<string>4</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band30mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>30m</string>
</property>
<property name="shortcut">
<string>3</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band20mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>20m</string>
</property>
<property name="shortcut">
<string>2</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<widget class="QPushButton" name="band17mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>17m</string>
</property>
<property name="shortcut">
<string>7</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band15mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>15m</string>
</property>
<property name="shortcut">
<string>5</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band12mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>12m</string>
</property>
<property name="shortcut">
<string>T</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band10mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>10m</string>
</property>
<property name="shortcut">
<string>1</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QPushButton" name="band6mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>6m</string>
</property>
<property name="shortcut">
<string>6</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band4mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>4m</string>
</property>
<property name="shortcut">
<string>$</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band2mbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>2m</string>
</property>
<property name="shortcut">
<string>V</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band70cmbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>70cm</string>
</property>
<property name="shortcut">
<string>U</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="band23cmbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>23cm</string>
</property>
<property name="shortcut">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QPushButton" name="bandWFMbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>WFM</string>
</property>
<property name="shortcut">
<string>W</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="bandAirbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>Air</string>
</property>
<property name="shortcut">
<string>A</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="bandGenbtn">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>128</height>
</size>
</property>
<property name="text">
<string>Gen</string>
</property>
<property name="shortcut">
<string>G</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Segment</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_12">
<item>
<widget class="QRadioButton" name="bandStkLastUsedBtn">
<property name="text">
<string>&amp;Last Used</string>
</property>
<property name="iconSize">
<size>
<width>16</width>
<height>16</height>
</size>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Band Stack Selection:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="bandStkPopdown">
<item>
<property name="text">
<string>1 - Latest Used</string>
</property>
</item>
<item>
<property name="text">
<string>2 - Older</string>
</property>
</item>
<item>
<property name="text">
<string>3 - Oldest Used</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QRadioButton" name="bandStkVoiceBtn">
<property name="text">
<string>Voice</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="bandStkDataBtn">
<property name="text">
<string>Data</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="bandStkCWBtn">
<property name="text">
<string>&amp;CW</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="freqTab">
<attribute name="title">
<string>Frequency</string>
@ -5455,6 +4888,13 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="showBandsBtn">
<property name="text">
<string>Bands</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_32">
<property name="orientation">