Choice-->ListBox

* Changed all instances of Fl_Choice and Fl_Input_Choice
    to Fl_ListBox.
    - old Fl_Choice objects renamed to listbox_xxx
    - old Fl_Input_Choice objects renamed to i_listbox_xxx
    - Note that i_listbox_xxx objects need indexing offset
      to maintain compatability with progdefaults definitions.
    - New objects should use listbox_xxx naming convention.
    - This removes a rather ugly Fltk widget.  Fltk does not
      have a native ComboBox or ListBox widget.
pull/1/head
David Freese 2014-08-29 03:04:45 -05:00
rodzic 8fef9bbc7e
commit 6762423be6
12 zmienionych plików z 1404 dodań i 917 usunięć

Plik diff jest za duży Load Diff

Plik diff jest za duży Load Diff

Wyświetl plik

@ -652,8 +652,8 @@ void set_olivia_default_integ()
void set_olivia_tab_widgets()
{
mnuOlivia_Bandwidth->value(progdefaults.oliviabw);
mnuOlivia_Tones->value(progdefaults.oliviatones);
i_listbox_olivia_bandwidth->index(progdefaults.oliviabw+1);
i_listbox_olivia_tones->index(progdefaults.oliviatones+1);
set_olivia_default_integ();
}
@ -687,8 +687,8 @@ void set_contestia_default_integ()
void set_contestia_tab_widgets()
{
mnuContestia_Bandwidth->value(progdefaults.contestiabw);
mnuContestia_Tones->value(progdefaults.contestiatones);
i_listbox_contestia_bandwidth->index(progdefaults.contestiabw+1);
i_listbox_contestia_tones->index(progdefaults.contestiatones+1);
set_contestia_default_integ();
}
@ -787,12 +787,12 @@ void cb_contestiaCustom(Fl_Widget *w, void *arg)
void set_rtty_tab_widgets()
{
selShift->value(progdefaults.rtty_shift);
selShift->index(progdefaults.rtty_shift+1);
selCustomShift->deactivate();
selBits->value(progdefaults.rtty_bits);
selBaud->value(progdefaults.rtty_baud);
selParity->value(progdefaults.rtty_parity);
selStopBits->value(progdefaults.rtty_stop);
selBits->index(progdefaults.rtty_bits+1);
selBaud->index(progdefaults.rtty_baud+1);
selParity->index(progdefaults.rtty_parity+1);
selStopBits->index(progdefaults.rtty_stop+1);
}
void cb_rtty45(Fl_Widget *w, void *arg)
@ -1382,9 +1382,8 @@ void cb_init_mode(Fl_Widget *, void *mode)
// character set selection menu
void cb_charset_menu(Fl_Widget *, void *charset)
void set_charset_listbox(int rxtx_charset)
{
rxtx_charset = reinterpret_cast<intptr_t>(charset);
int tiniconv_id = charset_list[rxtx_charset].tiniconv_id;
// order all converters to switch to the new encoding
@ -1398,16 +1397,22 @@ void cb_charset_menu(Fl_Widget *, void *charset)
brwsViewer->set_input_encoding(tiniconv_id);
// update the button
CHARSETstatus->label(charset_list[rxtx_charset].name);
progdefaults.charset_name = charset_list[rxtx_charset].name;
listbox_charset_status->value(progdefaults.charset_name.c_str());
restoreFocus();
}
void populate_charset_menu(void)
void cb_listbox_charset(Fl_Widget *w, void *)
{
Fl_ListBox * lbox = (Fl_ListBox *)w;
set_charset_listbox(lbox->index());
}
void populate_charset_listbox(void)
{
for (unsigned int i = 0; i < number_of_charsets; i++)
CHARSETstatus->add(charset_list[i].name, 0, cb_charset_menu,
reinterpret_cast<void *>(charset_list[i].tiniconv_id));
listbox_charset_status->add( charset_list[i].name );
listbox_charset_status->value(progdefaults.charset_name.c_str());
}
// find the position of the default charset in charset_list[] and trigger the callback
@ -1415,8 +1420,7 @@ void set_default_charset(void)
{
for (unsigned int i = 0; i < number_of_charsets; i++) {
if (strcmp(charset_list[i].name, progdefaults.charset_name.c_str()) == 0) {
cb_charset_menu(0,
reinterpret_cast<void *>(charset_list[i].tiniconv_id));
set_charset_listbox(i);
return;
}
}
@ -7006,8 +7010,8 @@ void set_olivia_bw(int bw)
else
i = 4;
bool changed = progdefaults.changed;
mnuOlivia_Bandwidth->value(i);
mnuOlivia_Bandwidth->do_callback();
i_listbox_olivia_bandwidth->index(i+1);
i_listbox_olivia_bandwidth->do_callback();
progdefaults.changed = changed;
}
@ -7017,8 +7021,8 @@ void set_olivia_tones(int tones)
while (tones >>= 1)
i++;
bool changed = progdefaults.changed;
mnuOlivia_Tones->value(i - 1);
mnuOlivia_Tones->do_callback();
i_listbox_olivia_tones->index(i);// - 1);
i_listbox_olivia_tones->do_callback();
progdefaults.changed = changed;
}
@ -7037,8 +7041,8 @@ void set_contestia_bw(int bw)
else
i = 4;
bool changed = progdefaults.changed;
mnuContestia_Bandwidth->value(i);
mnuContestia_Bandwidth->do_callback();
i_listbox_contestia_bandwidth->index(i+1);
i_listbox_contestia_bandwidth->do_callback();
progdefaults.changed = changed;
}
@ -7048,8 +7052,8 @@ void set_contestia_tones(int tones)
while (tones >>= 1)
i++;
bool changed = progdefaults.changed;
mnuContestia_Tones->value(i - 1);
mnuContestia_Tones->do_callback();
i_listbox_contestia_tones->index(i);// - 1);
i_listbox_contestia_tones->do_callback();
progdefaults.changed = changed;
}
@ -7065,7 +7069,7 @@ void set_rtty_shift(int shift)
for (i = 0; i < sizeof(shifts)/sizeof(*shifts); i++)
if (shifts[i] == shift)
break;
selShift->value(i);
selShift->index(i+1);
selShift->do_callback();
if (i == sizeof(shifts)/sizeof(*shifts)) {
selCustomShift->value(shift);
@ -7082,7 +7086,7 @@ void set_rtty_baud(float baud)
};
for (size_t i = 0; i < sizeof(bauds)/sizeof(*bauds); i++) {
if (bauds[i] == baud) {
selBaud->value(i);
selBaud->index(i+1);
selBaud->do_callback();
break;
}
@ -7095,7 +7099,7 @@ void set_rtty_bits(int bits)
static const int bits_[] = { 5, 7, 8 };
for (size_t i = 0; i < sizeof(bits_)/sizeof(*bits_); i++) {
if (bits_[i] == bits) {
selBits->value(i);
selBits->index(i+1);
selBits->do_callback();
break;
}

Wyświetl plik

@ -37,8 +37,7 @@ extern Fl_Tabs *tabsUI;
extern Fl_Group *tabBrowser;
extern Fl_Spinner2 *cntChannels;
extern Fl_Spinner2 *cntTimeout;
#include <FL/Fl_Choice.H>
extern Fl_Choice *mnuViewerLabel;
extern Fl_ListBox *listboxViewerLabel;
#include <FL/Fl_Button.H>
extern Fl_Button *btnViewerFont;
extern Fl_Check_Button *btnFixedIntervals;
@ -76,9 +75,9 @@ extern Fl_Button *btnDupColor;
extern Fl_Group *tabUserInterface;
extern Fl_Check_Button *btnShowTooltips;
extern Fl_Check_Button *chkMenuIcons;
extern Fl_Choice *mnuScheme;
extern Fl_ListBox *listboxScheme;
extern Fl_Button *bVisibleModes;
extern Fl_Choice *mnuLang;
extern Fl_ListBox *listbox_language;
extern Fl_Check_Button *btn_rx_lowercase;
extern Fl_Check_Button *btn_tx_lowercase;
extern Fl_Check_Button *btn_save_config_on_exit;
@ -138,9 +137,8 @@ extern Fl_Button *btn_wf_enable_all;
extern Fl_Button *btn_wf_disable_all;
extern Fl_Group *tabColorsFonts;
extern Fl_Tabs *tabsColors;
#include <FL/Fl_Menu_Button.H>
#include "fl_digi.h"
extern Fl_Menu_Button *CHARSETstatus;
extern Fl_ListBox *listbox_charset_status;
extern Fl_Input *RxText;
extern Fl_Button *btnRxColor;
extern Fl_Button *btnTxColor;
@ -227,7 +225,7 @@ extern Fl_Check_Button *btnViewXmtSignal;
extern Fl_Value_Slider2 *valTxMonitorLevel;
extern Fl_Counter2 *cntLowFreqCutoff;
extern Fl_Check_Button *btnWFaveraging;
extern Fl_Choice *mnuFFTPrefilter;
extern Fl_ListBox *listboxFFTPrefilter;
extern Fl_Counter2 *cntrWfwidth;
extern Fl_Counter2 *wf_latency;
extern Fl_Counter2 *cntrWfheight;
@ -235,7 +233,7 @@ extern Fl_Check_Button *btnWaterfallHistoryDefault;
extern Fl_Check_Button *btnWaterfallQSY;
extern Fl_Check_Button *btnWaterfallClickInsert;
extern Fl_Input2 *inpWaterfallClickText;
extern Fl_Choice *mnuWaterfallWheelAction;
extern Fl_ListBox *listboxWaterfallWheelAction;
extern Fl_Group *tabModems;
extern Fl_Tabs *tabsModems;
extern Fl_Group *tabCW;
@ -262,16 +260,16 @@ extern Fl_Check_Button *btnCWusefarnsworth;
extern Fl_Counter2 *cntCWweight;
extern Fl_Counter2 *cntCWdash2dot;
extern Fl_Counter2 *cntCWrisetime;
extern Fl_Choice *mnuQSKshape;
extern Fl_ListBox *i_listboxQSKshape;
extern Fl_Check_Button *btnCWnarrow;
extern Fl_Check_Button *btnQSK;
extern Fl_Counter2 *cntPreTiming;
extern Fl_Counter2 *cntPostTiming;
extern Fl_Check_Button *btnQSKadjust;
extern char szTestChar[];
extern Fl_Choice *mnuTestChar;
extern Fl_ListBox *i_listbox_test_char;
extern Fl_Check_Button *btnCW_use_paren;
extern Fl_Choice *mnu_prosign[9];
extern Fl_ListBox *listbox_prosign[9];
extern Fl_Group *tabDomEX;
extern Fl_Input2 *txtSecondary;
extern Fl_Check_Button *valDominoEX_FILTER;
@ -281,11 +279,11 @@ extern Fl_Value_Slider2 *valDomCWI;
extern Fl_Counter2 *valDominoEX_PATHS;
extern Fl_Group *tabFeld;
#include "fontdef.h"
extern Fl_Choice *selHellFont;
extern Fl_ListBox *listboxHellFont;
extern Fl_Check_Button *btnBlackboard;
extern Fl_Spinner2 *valHellXmtWidth;
extern Fl_Check_Button *btnHellRcvWidth;
extern Fl_Choice *mnuHellPulse;
extern Fl_ListBox *listboxHellPulse;
extern Fl_Value_Slider2 *sldrHellBW;
extern Fl_Check_Button *btnFeldHellIdle;
extern Fl_Check_Button *btnHellXmtWidth;
@ -297,19 +295,20 @@ extern Fl_Check_Button *btnMT63_upper_lower;
extern Fl_Spinner2 *MT63_tone_duration;
extern Fl_Check_Button *btnMT63_at500;
extern Fl_Group *tabOlivia;
extern Fl_Choice *mnuOlivia_Bandwidth;
extern Fl_Choice *mnuOlivia_Tones;
extern Fl_ListBox *i_listbox_olivia_bandwidth;
extern Fl_ListBox *i_listbox_olivia_tones;
extern Fl_Counter2 *cntOlivia_smargin;
extern Fl_Counter2 *cntOlivia_sinteg;
extern Fl_Check_Button *btn_olivia_reset_fec;
extern Fl_Check_Button *btnOlivia_8bit;
extern Fl_Group *tabContestia;
extern Fl_Choice *mnuContestia_Bandwidth;
extern Fl_Choice *mnuContestia_Tones;
extern Fl_ListBox *i_listbox_contestia_bandwidth;
extern Fl_ListBox *i_listbox_contestia_tones;
extern Fl_Counter2 *cntContestia_smargin;
extern Fl_Counter2 *cntContestia_sinteg;
extern Fl_Check_Button *btnContestia_8bit;
extern Fl_Group *tabPacket;
#include <FL/Fl_Choice.H>
extern Fl_Choice *selPacket_Baud;
extern Fl_Counter2 *valPacket_LoSig_RXGain;
extern Fl_Counter2 *valPacket_HiSig_RXGain;
@ -327,11 +326,11 @@ extern Fl_Group *tabPSK;
extern Fl_Tabs *tabsPSK;
extern Fl_Counter2 *cntSearchRange;
extern Fl_Counter2 *cntACQsn;
extern Fl_Choice *mnuPSKStatusTimeout;
extern Fl_ListBox *listbox_psk_status_timeout;
extern Fl_Check_Button *btnEnablePSKbrowsing;
extern Fl_Group *tabRTTY;
extern Fl_Tabs *tabsRTTY;
extern Fl_Choice *mnuRTTYAFCSpeed;
extern Fl_ListBox *i_listbox_rtty_afc_speed;
extern Fl_Check_Button *chkUOSrx;
#include <FL/Fl_Value_Input.H>
extern Fl_Value_Input *rtty_rx_shape;
@ -340,12 +339,12 @@ extern Fl_Check_Button *btnPreferXhairScope;
extern Fl_Check_Button *chk_true_scope;
extern Fl_Check_Button *chk_useMARKfreq;
extern Fl_Button *btnRTTY_mark_color;
extern Fl_Choice *selShift;
extern Fl_ListBox *selShift;
extern Fl_Counter2 *selCustomShift;
extern Fl_Choice *selBaud;
extern Fl_Choice *selBits;
extern Fl_Choice *selParity;
extern Fl_Choice *selStopBits;
extern Fl_ListBox *selBaud;
extern Fl_ListBox *selBits;
extern Fl_ListBox *selParity;
extern Fl_ListBox *selStopBits;
extern Fl_Check_Button *btnAUTOCRLF;
extern Fl_Counter2 *cntrAUTOCRLF;
extern Fl_Check_Button *btnCRCRLF;
@ -379,14 +378,13 @@ extern Fl_Group *tabRig;
extern Fl_Tabs *tabsRig;
extern Fl_Check_Button *btnPTTrightchannel;
extern Fl_Group *grpHWPTT;
#include <FL/Fl_Input_Choice.H>
extern Fl_Input_Choice *inpTTYdev;
extern Fl_Round_Button *btnTTYptt;
extern Fl_ListBox *inpTTYdev;
extern Fl_Round_Button *btnRTSptt;
extern Fl_Round_Button *btnRTSplusV;
extern Fl_Round_Button *btnDTRptt;
extern Fl_Round_Button *btnDTRplusV;
extern Fl_Button *btnInitHWPTT;
extern Fl_Round_Button *btnTTYptt;
extern Fl_Round_Button *btnUsePPortPTT;
extern Fl_Round_Button *btnUseUHrouterPTT;
extern Fl_Group *grpPTTdelays;
@ -396,11 +394,11 @@ extern Fl_Check_Button *chkUSERIGCAT;
extern Fl_Group *grpRigCAT;
extern Fl_Output *txtXmlRigFilename;
extern Fl_Button *btnSelectRigXmlFile;
extern Fl_Input_Choice *inpXmlRigDevice;
extern Fl_ListBox *inpXmlRigDevice;
extern Fl_Value_Input2 *cntRigCatRetries;
extern Fl_Value_Input2 *cntRigCatTimeout;
extern Fl_Value_Input2 *cntRigCatWait;
extern Fl_Choice *mnuXmlRigBaudrate;
extern Fl_ListBox *listbox_xml_rig_baudrate;
extern Fl_Counter2 *valRigCatStopbits;
extern Fl_Button *btnInitRIGCAT;
extern Fl_Check_Button *btnRigCatEcho;
@ -417,18 +415,18 @@ extern Fl_Check_Button *chkRigCatVSP;
extern Fl_Group *tabHamlib;
extern Fl_Check_Button *chkUSEHAMLIB;
extern Fl_Group *grpHamlib;
extern Fl_ComboBox *cboHamlibRig;
extern Fl_Input_Choice *inpRIGdev;
extern Fl_ListBox *cboHamlibRig;
extern Fl_ListBox *inpRIGdev;
extern Fl_Value_Input2 *cntHamlibRetries;
extern Fl_Value_Input2 *cntHamlibTimeout;
extern Fl_Value_Input2 *cntHamlibWriteDelay;
extern Fl_Value_Input2 *cntHamlibWait;
extern Fl_Choice *mnuBaudRate;
extern Fl_ListBox *listbox_baudrate;
extern Fl_Counter2 *valHamRigStopbits;
extern Fl_Counter2 *cntHamlibTimeout0;
extern Fl_Input2 *inpHamlibConfig;
extern Fl_Button *btnInitHAMLIB;
extern Fl_Choice *mnuSideband;
extern Fl_ListBox *listbox_sideband;
extern Fl_Round_Button *btnHamlibCMDptt;
extern Fl_Check_Button *btnHamlibDTRplus;
extern Fl_Check_Button *chkHamlibRTSplus;
@ -447,27 +445,27 @@ extern Fl_Group *tabSoundCard;
extern Fl_Tabs *tabsSoundCard;
extern Fl_Group *tabAudio;
extern Fl_Group *AudioOSS;
extern Fl_Input_Choice *menuOSSDev;
extern Fl_ListBox *menuOSSDev;
extern Fl_Group *AudioPort;
extern Fl_Choice *menuPortInDev;
extern Fl_Choice *menuPortOutDev;
extern Fl_ListBox *menuPortInDev;
extern Fl_ListBox *menuPortOutDev;
extern Fl_Group *AudioPulse;
extern Fl_Input2 *inpPulseServer;
extern Fl_Group *AudioNull;
extern Fl_Round_Button *btnAudioIO[4];
extern Fl_Group *tabAudioOpt;
extern Fl_Group *grpAudioSampleRate;
extern Fl_Choice *menuInSampleRate;
extern Fl_Choice *menuOutSampleRate;
extern Fl_ListBox *menuInSampleRate;
extern Fl_ListBox *menuOutSampleRate;
#include <FL/fl_ask.H>
extern Fl_Choice *menuSampleConverter;
extern Fl_ListBox *menuSampleConverter;
extern Fl_Spinner2 *cntRxRateCorr;
extern Fl_Spinner2 *cntTxRateCorr;
extern Fl_Spinner2 *cntTxOffset;
extern Fl_Group *tabMixer;
extern void resetMixerControls();
extern Fl_Check_Button *btnMixer;
extern Fl_Input_Choice *menuMix;
extern Fl_ListBox *menuMix;
extern Fl_Light_Button *btnMicIn;
extern void setMixerInput(int);
extern Fl_Light_Button *btnLineIn;
@ -481,7 +479,7 @@ extern Fl_Check_Button *btnPTTrightchannel2;
extern Fl_Check_Button *btnQSK2;
extern Fl_Check_Button *chkPseudoFSK2;
extern Fl_Group *tabWavFile;
extern Fl_Choice *mnuWavSampleRate;
extern Fl_ListBox *listbox_wav_samplerate;
extern Fl_Group *tabID;
extern Fl_Tabs *tabsID;
extern Fl_Group *tabRsID;
@ -490,7 +488,7 @@ extern Fl_Button *bRSIDRxModes;
extern Fl_Check_Button *chkRSidWideSearch;
extern Fl_Check_Button *chkRSidMark;
extern Fl_Check_Button *chkRSidAutoDisable;
extern Fl_Choice *mnu_RsID_errors;
extern Fl_ListBox *listbox_rsid_errors;
extern Fl_Value_Slider2 *sldrRSIDsquelch;
extern Fl_Check_Button *chkRSidShowAlert;
extern Fl_Check_Button *chkRetainFreqLock;
@ -575,7 +573,7 @@ extern Fl_Input *inputKmlRootFile;
extern Fl_Counter *cntKmlMergeDistance;
extern Fl_Counter *cntKmlRetentionTime;
extern Fl_Spinner2 *cntKmlRefreshInterval;
extern Fl_Choice *selKmlBalloonStyle;
extern Fl_ListBox *listbox_kml_balloon_style;
extern Fl_Input *btnKmlCommand;
extern Fl_Button *btlTestKmlCommand;
extern Fl_Button *btnSelectKmlDestDir;

Wyświetl plik

@ -320,8 +320,9 @@ extern void open_recv_folder(const char *fname);
extern void reset_mnuPlayback();
// character set
extern void cb_charset_menu(Fl_Widget *, void *charset);
extern void populate_charset_menu(void);
extern void set_charset_listbox(Fl_Widget *, void *charset);
extern void cb_listbox_charset(Fl_Widget *, void *);
extern void populate_charset_listbox(void);
extern void set_default_charset(void);
// set notch parameter on flrig

Wyświetl plik

@ -515,11 +515,11 @@ int main(int argc, char ** argv)
FSEL::create();
#if FLDIGI_FLTK_API_MAJOR == 1 && FLDIGI_FLTK_API_MINOR < 3
CHARSETstatus->hide();
listbox_charset_status->hide();
#else
CHARSETstatus->show();
listbox_charset_status->show();
#endif
populate_charset_menu();
populate_charset_listbox();
set_default_charset();
setTabColors();

Wyświetl plik

@ -386,19 +386,16 @@ bool configuration::readDefaultsXML()
void configuration::loadDefaults()
{
// RTTY
if (rtty_shift > 0) {
selShift->value(rtty_shift);
selShift->index(rtty_shift);
if (progdefaults.rtty_shift == selShift->lsize() - 1)
selCustomShift->activate();
else
selCustomShift->deactivate();
}
else { // Custom shift
selShift->value(selShift->size() - 2);
selShift->activate();
}
selBaud->value(rtty_baud);
selBits->value(rtty_bits);
selParity->value(rtty_parity);
selBaud->index(rtty_baud);
selBits->index(rtty_bits);
selParity->index(rtty_parity);
// chkMsbFirst->value(rtty_msbfirst);
selStopBits->value(rtty_stop);
selStopBits->index(rtty_stop);
btnCRCRLF->value(rtty_crcrlf);
btnAUTOCRLF->value(rtty_autocrlf);
cntrAUTOCRLF->value(rtty_autocount);
@ -406,19 +403,19 @@ void configuration::loadDefaults()
chkUOSrx->value(UOSrx);
chkUOStx->value(UOStx);
mnuRTTYAFCSpeed->value(rtty_afcspeed);
i_listbox_rtty_afc_speed->index(rtty_afcspeed);
btnPreferXhairScope->value(PreferXhairScope);
// OLIVIA
mnuOlivia_Tones->value(oliviatones);
mnuOlivia_Bandwidth->value(oliviabw);
i_listbox_olivia_tones->index(oliviatones);
i_listbox_olivia_bandwidth->index(oliviabw);
cntOlivia_smargin->value(oliviasmargin);
cntOlivia_sinteg->value(oliviasinteg);
btnOlivia_8bit->value(olivia8bit);
// CONTESTIA
mnuContestia_Tones->value(contestiatones);
mnuContestia_Bandwidth->value(contestiabw);
i_listbox_contestia_tones->index(contestiatones);
i_listbox_contestia_bandwidth->index(contestiabw);
cntContestia_smargin->value(contestiasmargin);
cntContestia_sinteg->value(contestiasinteg);
btnContestia_8bit->value(contestia8bit);
@ -449,7 +446,7 @@ void configuration::saveDefaults()
FreqControlFontName = Fl::get_font_name(FreqControlFontnbr);
#if ENABLE_NLS && defined(__WOE32__)
set_ui_lang(mnuLang->value());
set_ui_lang(listbox_language->index());
#endif
writeDefaultsXML();
@ -510,13 +507,13 @@ int configuration::setDefaults()
btnUseUHrouterPTT->value(progdefaults.UseUHrouterPTT);
#if USE_HAMLIB
mnuSideband->add(_("Rig mode"));
mnuSideband->add(_("Always LSB"));
mnuSideband->add(_("Always USB"));
mnuSideband->value(HamlibSideband);
listbox_sideband->add(_("Rig mode"));
listbox_sideband->add(_("Always LSB"));
listbox_sideband->add(_("Always USB"));
listbox_sideband->index(HamlibSideband);
btnHamlibCMDptt->value(HamlibCMDptt);
inpRIGdev->show();
mnuBaudRate->show();
listbox_baudrate->show();
cboHamlibRig->show();
cboHamlibRig->value(HamRigName.c_str());
#else
@ -548,10 +545,10 @@ int configuration::setDefaults()
if (!XmlRigFilename.empty()) readRigXML();
inpRIGdev->value(HamRigDevice.c_str());
mnuBaudRate->value(HamRigBaudrate);
listbox_baudrate->index(HamRigBaudrate);
inpXmlRigDevice->value(XmlRigDevice.c_str());
mnuXmlRigBaudrate->value(XmlRigBaudrate);
listbox_xml_rig_baudrate->index(XmlRigBaudrate);
valCWsweetspot->value(CWsweetspot);
valRTTYsweetspot->value(RTTYsweetspot);
@ -566,8 +563,8 @@ int configuration::setDefaults()
for (size_t i = 0;
i < sizeof(waterfall::wf_wheel_action)/sizeof(*waterfall::wf_wheel_action); i++)
mnuWaterfallWheelAction->add(waterfall::wf_wheel_action[i]);
mnuWaterfallWheelAction->value(WaterfallWheelAction);
listboxWaterfallWheelAction->add(waterfall::wf_wheel_action[i]);
listboxWaterfallWheelAction->index(WaterfallWheelAction);
btnStartAtSweetSpot->value(StartAtSweetSpot);
btnPSKmailSweetSpot->value(PSKmailSweetSpot);
@ -594,7 +591,7 @@ int configuration::setDefaults()
cntCWupperlimit->minimum(CWlowerlimit + 20);
cntCWrisetime->value(CWrisetime);
cntCWdash2dot->value(CWdash2dot);
mnuQSKshape->value(QSKshape);
i_listboxQSKshape->index(QSKshape);
sldrCWxmtWPM->minimum(CWlowerlimit);
sldrCWxmtWPM->maximum(CWupperlimit);
btnQSK->value(QSK);
@ -602,7 +599,7 @@ int configuration::setDefaults()
cntPostTiming->value(CWpost);
btnCWID->value(CWid);
selHellFont->value(feldfontnbr);
listboxHellFont->index(feldfontnbr);
btnFeldHellIdle->value(HellXmtIdle);
btnTxRSID->value(TransmitRSid);
@ -685,12 +682,12 @@ int configuration::setDefaults()
for (lang_def_t* p = ui_langs; p->lang; p++) {
ss.str("");
ss << p->native_name << " (" << p->percent_done << "%)";
mnuLang->add(ss.str().c_str());
listbox_language->add(ss.str().c_str());
}
mnuLang->value(get_ui_lang());
mnuLang->show();
listbox_language->index(get_ui_lang());
listbox_language->show();
#else
mnuLang->hide();
listbox_language->hide();
#endif
return 1;
@ -757,11 +754,11 @@ void configuration::initInterface()
else
HamRigModel = hamlib_get_rig_model(cboHamlibRig->index());
HamRigDevice = inpRIGdev->value();
HamRigBaudrate = mnuBaudRate->value();
HamRigBaudrate = listbox_baudrate->index();
#else
cboHamlibRig->hide();
inpRIGdev->hide();
mnuBaudRate->hide();
listbox_baudrate->hide();
#endif
bool riginitOK = false;

Wyświetl plik

@ -568,19 +568,18 @@ void status::initLastState()
// RTTY
if (lastmode == MODE_RTTY ) {
if (rtty_shift > 0) {
progdefaults.rtty_shift = rtty_shift;
selShift->value(rtty_shift);
progdefaults.rtty_shift = rtty_shift;
selShift->index(progdefaults.rtty_shift + 1);
if (rtty_shift == selShift->lsize() - 1) {
selCustomShift->deactivate();
}
else { // Custom shift
selShift->value(selShift->size() - 2);
selShift->activate();
selCustomShift->activate();
}
selBaud->value(progdefaults.rtty_baud = rtty_baud);
selBits->value(progdefaults.rtty_bits = rtty_bits);
selParity->value(progdefaults.rtty_parity = rtty_parity);
selStopBits->value(progdefaults.rtty_stop = rtty_stop);
selBaud->index((progdefaults.rtty_baud = rtty_baud) + 1);
selBits->index((progdefaults.rtty_bits = rtty_bits) + 1);
selParity->index((progdefaults.rtty_parity = rtty_parity) + 1);
selStopBits->index((progdefaults.rtty_stop = rtty_stop) + 1);
btnCRCRLF->value(progdefaults.rtty_crcrlf = rtty_crcrlf);
btnAUTOCRLF->value(progdefaults.rtty_autocrlf = rtty_autocrlf);
cntrAUTOCRLF->value(progdefaults.rtty_autocount = rtty_autocount);
@ -588,7 +587,7 @@ void status::initLastState()
chkUOSrx->value(progdefaults.UOSrx = UOSrx);
chkUOStx->value(progdefaults.UOStx = UOStx);
// chkXagc->value(progdefaults.Xagc = Xagc);
mnuRTTYAFCSpeed->value(progdefaults.rtty_afcspeed = rtty_afcspeed);
i_listbox_rtty_afc_speed->index(progdefaults.rtty_afcspeed = rtty_afcspeed);
btnPreferXhairScope->value(progdefaults.PreferXhairScope = PreferXhairScope);
if (mvsquelch) {
@ -617,8 +616,8 @@ printf("init rtty squelch %f\n", VIEWER_rttysquelch);
// OLIVIA
if (lastmode == MODE_OLIVIA) {
mnuOlivia_Tones->value(progdefaults.oliviatones = oliviatones);
mnuOlivia_Bandwidth->value(progdefaults.oliviabw = oliviabw);
i_listbox_olivia_tones->index(progdefaults.oliviatones = oliviatones);
i_listbox_olivia_bandwidth->index(progdefaults.oliviabw = oliviabw);
cntOlivia_smargin->value(progdefaults.oliviasmargin = oliviamargin);
cntOlivia_sinteg->value(progdefaults.oliviasinteg = oliviainteg);
btnOlivia_8bit->value(progdefaults.olivia8bit = olivia8bit);
@ -626,8 +625,8 @@ printf("init rtty squelch %f\n", VIEWER_rttysquelch);
// CONTESTIA
if (lastmode == MODE_CONTESTIA) {
mnuContestia_Tones->value(progdefaults.contestiatones = contestiatones);
mnuContestia_Bandwidth->value(progdefaults.contestiabw = contestiabw);
i_listbox_contestia_tones->index(progdefaults.contestiatones = contestiatones);
i_listbox_contestia_bandwidth->index(progdefaults.contestiabw = contestiabw);
cntContestia_smargin->value(progdefaults.contestiasmargin = contestiamargin);
cntContestia_sinteg->value(progdefaults.contestiasinteg = contestiainteg);
btnContestia_8bit->value(progdefaults.contestia8bit = contestia8bit);

Wyświetl plik

@ -885,7 +885,7 @@ public:
}
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
{
int bw, v = mnuOlivia_Bandwidth->value();
int bw, v = i_listbox_olivia_bandwidth->index() + 1;
if (v == 0)
bw = 125;
@ -933,7 +933,7 @@ public:
}
void execute(const xmlrpc_c::paramList& params, xmlrpc_c::value* retval)
{
*retval = xmlrpc_c::value_int(1 << (mnuOlivia_Tones->value() + 1));
*retval = xmlrpc_c::value_int(1 << (i_listbox_olivia_tones->index() + 1));
}
};

Wyświetl plik

@ -104,7 +104,7 @@ void hamlib_get_defaults()
}
testrig.getConf("serial_speed", szParam);
mnuBaudRate->value(progdefaults.nBaudRate(szParam));
listbox_baudrate->value(szParam);
testrig.getConf("post_write_delay", szParam);
sscanf(szParam, "%d", &i);
@ -161,9 +161,9 @@ void hamlib_restore_defaults()
if (chkHamlibRTSCTSflow->value()) chkHamlibRTSplus->deactivate();
chkHamlibRTSplus->value(progdefaults.HamlibRTSplus);
chkHamlibXONXOFFflow->value(progdefaults.HamlibXONXOFFflow);
mnuSideband->value(progdefaults.HamlibSideband);
listbox_sideband->index(progdefaults.HamlibSideband);
valHamRigStopbits->value(progdefaults.HamRigStopbits);
mnuBaudRate->value(progdefaults.HamRigBaudrate);
listbox_baudrate->index(progdefaults.HamRigBaudrate);
if (xcvr && xcvr->canSetPTT()) btnHamlibCMDptt->activate();
else btnHamlibCMDptt->deactivate();
btnHamlibCMDptt->value(progdefaults.HamlibCMDptt);
@ -188,9 +188,9 @@ void hamlib_init_defaults()
progdefaults.HamlibRTSCTSflow = chkHamlibRTSCTSflow->value();
progdefaults.HamlibRTSplus = chkHamlibRTSplus->value();
progdefaults.HamlibXONXOFFflow = chkHamlibXONXOFFflow->value();
progdefaults.HamlibSideband = mnuSideband->value();
progdefaults.HamlibSideband = listbox_sideband->index();
progdefaults.HamRigStopbits = static_cast<int>(valHamRigStopbits->value());
progdefaults.HamRigBaudrate = mnuBaudRate->value();
progdefaults.HamRigBaudrate = listbox_baudrate->index();
progdefaults.HamlibCMDptt = btnHamlibCMDptt->value();
progdefaults.HamConfig = inpHamlibConfig->value();
}

Wyświetl plik

@ -996,7 +996,7 @@ void rigCAT_sendINIT(const string& icmd)
void rigCAT_defaults()
{
mnuXmlRigBaudrate->value(xmlrig.baud);
listbox_xml_rig_baudrate->index(xmlrig.baud);
valRigCatStopbits->value(xmlrig.stopbits);
btnRigCatRTSplus->value(xmlrig.rts);
btnRigCatDTRplus->value(xmlrig.dtr);
@ -1014,7 +1014,7 @@ void rigCAT_defaults()
void rigCAT_restore_defaults()
{
inpXmlRigDevice->value(progdefaults.XmlRigDevice.c_str());
mnuXmlRigBaudrate->value(progdefaults.XmlRigBaudrate);
listbox_xml_rig_baudrate->index(progdefaults.XmlRigBaudrate);
valRigCatStopbits->value(progdefaults.RigCatStopbits);
btnRigCatRTSplus->value(progdefaults.RigCatRTSplus);
btnRigCatDTRplus->value(progdefaults.RigCatDTRplus);
@ -1037,7 +1037,7 @@ void rigCAT_restore_defaults()
void rigCAT_init_defaults()
{
progdefaults.XmlRigDevice = inpXmlRigDevice->value();
progdefaults.XmlRigBaudrate = mnuXmlRigBaudrate->value();
progdefaults.XmlRigBaudrate = listbox_xml_rig_baudrate->index();
progdefaults.RigCatStopbits = static_cast<int>(valRigCatStopbits->value());
progdefaults.RigCatRTSplus = btnRigCatRTSplus->value();
progdefaults.RigCatDTRplus = btnRigCatDTRplus->value();

Wyświetl plik

@ -181,11 +181,11 @@ static void init_portaudio(void)
}
// add to menu
if (ilist->dev->maxInputChannels > 0)
menuPortInDev->add(menu_item.c_str(), 0, NULL,
reinterpret_cast<void *>(ilist->idx), 0);
menuPortInDev->add(menu_item.c_str(),
reinterpret_cast<void *>(ilist->idx));
if (ilist->dev->maxOutputChannels > 0)
menuPortOutDev->add(menu_item.c_str(), 0, NULL,
reinterpret_cast<void *>(ilist->idx), 0);
menuPortOutDev->add(menu_item.c_str(),
reinterpret_cast<void *>(ilist->idx));
}
if (progdefaults.PortInDevice.length() == 0) {
@ -213,51 +213,30 @@ static void init_portaudio(void)
}
// select the correct menu items
const Fl_Menu_Item* menu;
int size;
int idx;
idx = -1;
menu = menuPortInDev->menu();
size = menuPortInDev->size();
for (int i = 0; i < size - 1; i++, menu++) {
if (menu->label() && progdefaults.PortInDevice == menu->label()) {
idx = i; // near match
if (reinterpret_cast<intptr_t>(menu->user_data()) == progdefaults.PortInIndex ||
progdefaults.PortInIndex == -1) // exact match, or index was never saved
break;
}
}
if (idx >= 0) {
menuPortInDev->value(idx);
menuPortInDev->set_changed();
int size = menuPortInDev->lsize();
for (int i = 1; i <= size; i++) {
menuPortInDev->index(i);
if (progdefaults.PortInDevice == menuPortInDev->value())
break;
}
idx = -1;
menu = menuPortOutDev->menu();
size = menuPortOutDev->size();
for (int i = 0; i < size - 1; i++, menu++) {
if (menu->label() && progdefaults.PortOutDevice == menu->label()) {
idx = i;
if (reinterpret_cast<intptr_t>(menu->user_data()) == progdefaults.PortOutIndex ||
progdefaults.PortOutIndex == -1)
break;
}
}
if (idx >= 0) {
menuPortOutDev->value(idx);
menuPortOutDev->set_changed();
size = menuPortOutDev->lsize();
for (int i = 1; i <= size; i++) {
menuPortOutDev->index(i);
if (progdefaults.PortOutDevice == menuPortOutDev->value())
break;
}
}
#else
static void init_portaudio(void) { }
#endif // USE_PORTAUDIO
static void build_srate_menu(Fl_Menu_* menu, const double* rates, size_t length, double defrate = -1.0)
static void build_srate_listbox(Fl_ListBox* lbox, const double* rates, size_t length, double defrate = -1.0)
{
menu->clear();
menu->add("Auto");
menu->add("Native", 0, 0, 0, FL_MENU_DIVIDER);
lbox->clear();
lbox->add("Auto");
lbox->add("Native");
char s[16];
for (size_t i = 0; i < length; i++) {
@ -265,7 +244,7 @@ static void build_srate_menu(Fl_Menu_* menu, const double* rates, size_t length,
snprintf(s, sizeof(s), "%.0f", rates[i]);
else
snprintf(s, sizeof(s), "%.0f (native)", rates[i]);
menu->add(s);
lbox->add(s);
}
}
@ -280,9 +259,9 @@ int sample_rate_converters[FLDIGI_NUM_SRC] = {
static void sound_init_options(void)
{
build_srate_menu(menuInSampleRate, std_sample_rates,
build_srate_listbox(menuInSampleRate, std_sample_rates,
sizeof(std_sample_rates)/sizeof(*std_sample_rates) - 1);
build_srate_menu(menuOutSampleRate, std_sample_rates,
build_srate_listbox(menuOutSampleRate, std_sample_rates,
sizeof(std_sample_rates)/sizeof(*std_sample_rates) - 1);
for (int i = 0; i < FLDIGI_NUM_SRC; i++)
@ -303,7 +282,7 @@ static void sound_init_options(void)
#endif
for (int i = 0; i < FLDIGI_NUM_SRC; i++) {
if (sample_rate_converters[i] == progdefaults.sample_converter) {
menuSampleConverter->value(i);
menuSampleConverter->index(i);
menuSampleConverter->tooltip(src_get_description(progdefaults.sample_converter));
break;
}
@ -328,9 +307,13 @@ static void sound_init_options(void)
else if (progdefaults.in_sample_rate > SAMPLE_RATE_OTHER)
snprintf(sr, sizeof(sr), "%d", progdefaults.in_sample_rate);
if (progdefaults.in_sample_rate <= SAMPLE_RATE_NATIVE)
menuInSampleRate->value(progdefaults.in_sample_rate);
menuInSampleRate->index(progdefaults.in_sample_rate);
else
menuInSampleRate->value(menuInSampleRate->find_item(sr));
for (int i = 1; i <= menuInSampleRate->lsize(); i++) {
menuInSampleRate->index(i);
if (strstr(menuInSampleRate->value(), sr))
break;
}
if (progdefaults.out_sample_rate == SAMPLE_RATE_UNSET &&
(progdefaults.out_sample_rate = progdefaults.sample_rate) == SAMPLE_RATE_UNSET)
@ -338,9 +321,13 @@ static void sound_init_options(void)
else if (progdefaults.out_sample_rate > SAMPLE_RATE_OTHER)
snprintf(sr, sizeof(sr), "%d", progdefaults.out_sample_rate);
if (progdefaults.out_sample_rate <= SAMPLE_RATE_NATIVE)
menuOutSampleRate->value(progdefaults.out_sample_rate);
menuOutSampleRate->index(progdefaults.out_sample_rate);
else
menuOutSampleRate->value(menuOutSampleRate->find_item(sr));
for (int i = 1; i <= menuOutSampleRate->lsize(); i++) {
menuOutSampleRate->index(i);
if (strstr(menuOutSampleRate->value(), sr))
break;
}
cntRxRateCorr->value(progdefaults.RX_corr);
cntTxRateCorr->value(progdefaults.TX_corr);
@ -465,41 +452,40 @@ void sound_update(unsigned idx)
case SND_IDX_PORT:
menuPortInDev->activate();
menuPortOutDev->activate();
if (menuPortInDev->text())
scDevice[0] = menuPortInDev->text();
if (menuPortOutDev->text())
scDevice[1] = menuPortOutDev->text();
if (menuPortInDev->value())
scDevice[0] = menuPortInDev->value();
if (menuPortOutDev->value())
scDevice[1] = menuPortOutDev->value();
{
Fl_Menu_* menus[2] = { menuInSampleRate, menuOutSampleRate };
Fl_ListBox* listbox[2] = { menuInSampleRate, menuOutSampleRate };
for (size_t i = 0; i < 2; i++) {
char* label = strdup(menus[i]->text());
char* label = strdup(listbox[i]->value());
const vector<double>& srates = SoundPort::get_supported_rates(scDevice[i], i);
switch (srates.size()) {
case 0: // startup; no devices initialised yet
build_srate_menu(menus[i], std_sample_rates,
build_srate_listbox(listbox[i], std_sample_rates,
sizeof(std_sample_rates)/sizeof(*std_sample_rates) - 1);
break;
case 1: // default sample rate only, build menu with all std rates
build_srate_menu(menus[i], std_sample_rates,
build_srate_listbox(listbox[i], std_sample_rates,
sizeof(std_sample_rates)/sizeof(*std_sample_rates) - 1, srates[0]);
break;
default: // first element is default sample rate, build menu with rest
build_srate_menu(menus[i], &srates[0] + 1, srates.size() - 1, srates[0]);
build_srate_listbox(listbox[i], &srates[0] + 1, srates.size() - 1, srates[0]);
break;
}
for (const Fl_Menu_Item* item = menus[i]->menu(); item->text; item++) {
if (strstr(item->text, label)) {
menus[i]->value(item);
for (int j = 1; j < listbox[i]->lsize(); j++) {
listbox[i]->index(j);
if (strstr(listbox[i]->value(), label))
break;
}
}
free(label);
menus[i]->activate();
listbox[i]->activate();
}
}
break;