diff --git a/mslib/msui/__init__.py b/mslib/msui/__init__.py index 0a74343c8..b9dade419 100644 --- a/mslib/msui/__init__.py +++ b/mslib/msui/__init__.py @@ -192,3 +192,14 @@ class MissionSupportSystemDefaultConfig(object): # dictionary for import plugins, e.g. { "FliteStar": ["txt", "mslib.plugins.io.flitestar", "load_from_flitestar"] } import_plugins = {} + + # dictionary to make title, label and ticklabel sizes for topview and sideview configurable. + # You can put your default value here, whatever you want to give,it should be a number. + topview = {"plot_title_size": 10, + "axes_label_size": 10} + + sideview = {"plot_title_size": 10, + "axes_label_size": 10} + + linearview = {"plot_title_size": 10, + "axes_label_size": 10} diff --git a/mslib/msui/_tests/test_mpl_map.py b/mslib/msui/_tests/test_mpl_map.py index 4c81272b3..7cf2454ca 100644 --- a/mslib/msui/_tests/test_mpl_map.py +++ b/mslib/msui/_tests/test_mpl_map.py @@ -41,6 +41,7 @@ def test_no_coastsegs(self): # On land self.map.ax.set_xlim([2, 3]) self.map.ax.set_ylim([48, 49]) + self.map._draw_auto_graticule() self.map.update_with_coordinate_change() # On water diff --git a/mslib/msui/linearview.py b/mslib/msui/linearview.py index 41cc3a0fb..acb6e0edd 100644 --- a/mslib/msui/linearview.py +++ b/mslib/msui/linearview.py @@ -25,9 +25,10 @@ limitations under the License. """ -from mslib.utils import config_loader -from PyQt5 import QtGui +from mslib.utils import config_loader, save_settings_qsettings, load_settings_qsettings +from PyQt5 import QtGui, QtWidgets from mslib.msui.mss_qt import ui_linearview_window as ui +from mslib.msui.mss_qt import ui_linearview_options as ui_opt from mslib.msui.viewwindows import MSSMplViewWindow from mslib.msui import wms_control as wms from mslib.msui.icons import icons @@ -36,6 +37,49 @@ WMS = 0 +class MSS_LV_Options_Dialog(QtWidgets.QDialog, ui_opt.Ui_LinearViewOptionsDialog): + """ + Dialog class to specify Linear View Options. + """ + + def __init__(self, parent=None, settings_dict=None): + """ + Arguments: + parent -- Qt widget that is parent to this widget. + settings_dict -- dictionary containing sideview options. + """ + super(MSS_LV_Options_Dialog, self).__init__(parent) + self.setupUi(self) + + default_settings_dict = { + "plot_title_size": "default", + "axes_label_size": "default" + } + + if settings_dict is not None: + default_settings_dict.update(settings_dict) + settings_dict = default_settings_dict + + for i in range(self.lv_cbtitlesize.count()): + if self.lv_cbtitlesize.itemText(i) == settings_dict["plot_title_size"]: + self.lv_cbtitlesize.setCurrentIndex(i) + + for i in range(self.lv_cbaxessize.count()): + if self.lv_cbaxessize.itemText(i) == settings_dict["axes_label_size"]: + self.lv_cbaxessize.setCurrentIndex(i) + + def get_settings(self): + """ + Returns the specified settings from the GUI elements. + """ + settings_dict = { + "plot_title_size": self.lv_cbtitlesize.currentText(), + "axes_label_size": self.lv_cbaxessize.currentText() + } + + return settings_dict + + class MSSLinearViewWindow(MSSMplViewWindow, ui.Ui_LinearWindow): """ PyQt window implementing a matplotlib canvas as linear flight track view. @@ -57,12 +101,17 @@ def __init__(self, parent=None, model=None, _id=None): self.setFlightTrackModel(model) + self.settings_tag = "linearview" + self.load_settings() + # Connect slots and signals. # ========================== # Tool opener. self.cbTools.currentIndexChanged.connect(self.openTool) + self.lvoptionbtn.clicked.connect(self.set_options) + def __del__(self): del self.mpl.canvas.waypoints_interactor @@ -96,3 +145,27 @@ def setFlightTrackModel(self, model): super(MSSLinearViewWindow, self).setFlightTrackModel(model) if self.docks[WMS] is not None: self.docks[WMS].widget().setFlightTrackModel(model) + + def set_options(self): + settings = self.getView().get_settings() + dlg = MSS_LV_Options_Dialog(parent=self, settings_dict=settings) + dlg.setModal(True) + if dlg.exec_() == QtWidgets.QDialog.Accepted: + settings = dlg.get_settings() + self.getView().set_settings(settings) + self.save_settings() + dlg.destroy() + + def save_settings(self): + """ + Save the current settings of plot options to the file self.settingsfile. + """ + settings = self.getView().get_settings() + save_settings_qsettings(self.settings_tag, settings) + + def load_settings(self): + """ + Load settings from the file self.settingsfile. + """ + settings = load_settings_qsettings(self.settings_tag) + self.getView().set_settings(settings) diff --git a/mslib/msui/mpl_map.py b/mslib/msui/mpl_map.py index ae24365eb..7102cbd07 100644 --- a/mslib/msui/mpl_map.py +++ b/mslib/msui/mpl_map.py @@ -91,7 +91,6 @@ def __init__(self, identifier=None, CRS=None, BBOX_UNITS=None, PROJECT_NAME=None "colour_land": ((204 / 255.), (153 / 255.), (102 / 255.), (255 / 255.))} default_appearance.update(param_appearance) self.appearance = default_appearance - # Identifier of this map canvas (used to query data structures that # are observed by different views). if identifier is not None: @@ -145,10 +144,8 @@ def __init__(self, identifier=None, CRS=None, BBOX_UNITS=None, PROJECT_NAME=None self.crs_text = self.ax.figure.text(0, 0, self.crs) if self.appearance["draw_graticule"]: - try: - self._draw_auto_graticule() - except Exception as ex: - logging.error("ERROR: cannot plot graticule (message: %s - '%s')", type(ex), ex) + pass + # self._draw_auto_graticule() ; It's already called in mpl_qtwidget.py in MplTopviewCanvas init_map(). else: self.map_parallels = None self.map_meridians = None @@ -177,7 +174,7 @@ def set_axes_limits(self, ax=None): super(MapCanvas, self).set_axes_limits(ax=ax) matplotlib.interactive(intact) - def _draw_auto_graticule(self): + def _draw_auto_graticule(self, font_size=None): """ Draw an automatically spaced graticule on the map. """ @@ -281,14 +278,14 @@ def _draw_auto_graticule(self): latStart = np.floor((mapLatStart / spacingLat)) * spacingLat latStop = np.ceil((mapLatStop / spacingLat)) * spacingLat - # d) call the basemap methods to draw the lines in the determined - # range. + # d) call the basemap methods to draw the lines in the determined + # range. self.map_parallels = self.drawparallels(np.arange(latStart, latStop, spacingLat), - labels=[1, 1, 0, 0], zorder=3) + labels=[1, 1, 0, 0], fontsize=font_size, zorder=3) self.map_meridians = self.drawmeridians(np.arange(lonStart, lonStop, spacingLon), - labels=[0, 0, 0, 1], zorder=3) + labels=[0, 0, 0, 1], fontsize=font_size, zorder=3) def set_graticule_visible(self, visible=True): """ diff --git a/mslib/msui/mpl_qtwidget.py b/mslib/msui/mpl_qtwidget.py index e80cbcaa9..35a8d1496 100644 --- a/mslib/msui/mpl_qtwidget.py +++ b/mslib/msui/mpl_qtwidget.py @@ -495,6 +495,8 @@ def __init__(self, model=None, settings=None, numlabels=None): self.settings_dict = {"vertical_extent": (1050, 180), "vertical_axis": "pressure", "secondary_axis": "no secondary axis", + "plot_title_size": "default", + "axes_label_size": "default", "flightlevels": [], "draw_flightlevels": True, "draw_flighttrack": True, @@ -520,6 +522,9 @@ def __init__(self, model=None, settings=None, numlabels=None): # Main axes instance of mplwidget has zorder 99. self.imgax = self.fig.add_axes( self.ax.get_position(), frameon=True, xticks=[], yticks=[], label="imgax", zorder=0) + + # Sets the default value of sideview fontsize settings from MSSDefaultConfig. + self.sideview_size_settings = config_loader(dataset="sideview") self.setup_side_view() # Draw a number of flight level lines. self.flightlevels = [] @@ -603,19 +608,34 @@ def _determine_ticks_labels(self, typ): return ylabel, major_ticks, minor_ticks, labels def redraw_yaxis(self): - """ Redraws the y-axis on map after setting the values from sideview options dialog box""" + """ Redraws the y-axis on map after setting the values from sideview options dialog box + and also updates the sizes for map title and x and y axes labels and ticklabels""" vaxis = self.settings_dict["vertical_axis"] vaxis2 = self.settings_dict["secondary_axis"] + # Sets fontsize value for x axis ticklabel. + axes_label_size = (self.sideview_size_settings["axes_label_size"] + if self.settings_dict["axes_label_size"] == "default" + else int(self.settings_dict["axes_label_size"])) + # Sets fontsize value for plot title and axes title/label + plot_title_size = (self.sideview_size_settings["plot_title_size"] + if self.settings_dict["plot_title_size"] == "default" + else int(self.settings_dict["plot_title_size"])) + # Updates the fontsize of the x-axis ticklabels of sideview. + self.ax.tick_params(axis='x', labelsize=axes_label_size) + # Updates the fontsize of plot title and x-axis title of sideview. + self.ax.set_title("vertical flight profile", fontsize=plot_title_size, horizontalalignment="left", x=0) + self.ax.set_xlabel("lat/lon", fontsize=plot_title_size) + for ax, typ in zip((self.ax, self.ax2), (vaxis, vaxis2)): ylabel, major_ticks, minor_ticks, labels = self._determine_ticks_labels(typ) - ax.set_ylabel(ylabel) + ax.set_ylabel(ylabel, fontsize=plot_title_size) ax.set_yticks(minor_ticks, minor=True) ax.set_yticks(major_ticks, minor=False) - ax.set_yticklabels([], minor=True, fontsize=10) - ax.set_yticklabels(labels, minor=False, fontsize=10) + ax.set_yticklabels([], minor=True) + ax.set_yticklabels(labels, minor=False, fontsize=axes_label_size) ax.set_ylim(self.p_bot, self.p_top) if vaxis2 == "no secondary axis": @@ -634,6 +654,7 @@ def setup_side_view(self): self.ax.set_title("vertical flight profile", horizontalalignment="left", x=0) self.ax.grid(b=True) + self.ax.set_xlabel("lat/lon") for ax in (self.ax, self.ax2): @@ -664,18 +685,19 @@ def redraw_xaxis(self, lats, lons, times): lat_inds = np.arange(len(lats)) tick_index_step = len(lat_inds) // self.numlabels self.ax.set_xticks(lat_inds[::tick_index_step]) + if self.waypoints_model is not None and self.waypoints_model.performance_settings["visible"]: self.ax.set_xticklabels([f'{d[0]:2.1f}, {d[1]:2.1f}\n{d[2].strftime("%H:%M")}Z' for d in zip(lats[::tick_index_step], lons[::tick_index_step], times[::tick_index_step])], - rotation=25, fontsize=10, horizontalalignment="right") + rotation=25, horizontalalignment="right") else: self.ax.set_xticklabels([f"{d[0]:2.1f}, {d[1]:2.1f}" for d in zip(lats[::tick_index_step], lons[::tick_index_step], times[::tick_index_step])], - rotation=25, fontsize=10, horizontalalignment="right") + rotation=25, horizontalalignment="right") for _line in self.ceiling_alt: _line.remove() @@ -920,6 +942,9 @@ def __init__(self, model=None, numlabels=None): numlabels = config_loader(dataset='num_labels') super(MplLinearViewCanvas, self).__init__() + self.settings_dict = {"plot_title_size": "default", + "axes_label_size": "default"} + # Setup the plot. self.numlabels = numlabels self.setup_linear_view() @@ -931,6 +956,10 @@ def __init__(self, model=None, numlabels=None): if model: self.set_waypoints_model(model) + # Sets the default values of plot sizes from MissionSupportDefaultConfig. + self.linearview_size_settings = config_loader(dataset="linearview") + self.set_settings(self.settings_dict) + def set_waypoints_model(self, model): """Set the WaypointsTableModel defining the linear section. If no model had been set before, create a new interactor object on the model @@ -949,11 +978,11 @@ def set_waypoints_model(self, model): redraw_xaxis=self.redraw_xaxis ) self.redraw_xaxis() + # self.set_settings(self.settings_dict) def setup_linear_view(self): """Set up a linear section view. """ - self.ax.set_title("Linear flight profile", horizontalalignment="left", x=0) self.fig.subplots_adjust(left=0.08, right=0.96, top=0.9, bottom=0.14) def clear_figure(self): @@ -997,7 +1026,7 @@ def redraw_xaxis(self): self.ax.set_xticklabels([f'{d[0]:2.1f}, {d[1]:2.1f}' for d in zip(lats[::tick_index_step], lons[::tick_index_step])], - rotation=25, fontsize=10, horizontalalignment="right") + rotation=25, horizontalalignment="right") ipoint = 0 highlight = [[wp.lat, wp.lon] for wp in self.waypoints_model.waypoints] @@ -1043,6 +1072,29 @@ def draw_image(self, xmls, colors=None, scales=None): self.redraw_xaxis() self.fig.tight_layout() self.fig.subplots_adjust(top=0.85, bottom=0.20) + # self.set_settings(self.settings_dict) + self.draw() + + def get_settings(self): + """Returns a dictionary containing settings regarding the linear view + appearance. + """ + return self.settings_dict + + def set_settings(self, settings): + """ + Apply settings from options ui to the linear view + """ + + if settings is not None: + self.settings_dict.update(settings) + + pts = (self.linearview_size_settings["plot_title_size"] if self.settings_dict["plot_title_size"] == "default" + else int(self.settings_dict["plot_title_size"])) + als = (self.linearview_size_settings["axes_label_size"] if self.settings_dict["axes_label_size"] == "default" + else int(self.settings_dict["axes_label_size"])) + self.ax.tick_params(axis='both', labelsize=als) + self.ax.set_title("Linear flight profile", fontsize=pts, horizontalalignment='left', x=0) self.draw() @@ -1085,6 +1137,12 @@ def __init__(self, settings=None): self.legax = None self.legimg = None + # stores the topview plot title size(tov_pts) and topview axes label size(tov_als),initially as None. + self.tov_pts = None + self.tov_als = None + # Sets the default fontsize parameters' values for topview from MSSDefaultConfig. + self.topview_size_settings = config_loader(dataset="topview") + # Set map appearance from parameter or, if not specified, to default # values. self.set_map_appearance(settings) @@ -1100,8 +1158,18 @@ def init_map(self, model=None, **kwargs): self.map = mpl_map.MapCanvas(appearance=self.get_map_appearance(), resolution="l", area_thresh=1000., ax=ax, **kwargs) + + # Sets the selected fontsize only if draw_graticule box from topview options is checked in. + if self.appearance_settings["draw_graticule"]: + try: + self.map._draw_auto_graticule(self.tov_als) + except Exception as ex: + logging.error("ERROR: cannot plot graticule (message: %s - '%s')", type(ex), ex) + else: + self.map.set_graticule_visible(self.appearance_settings["draw_graticule"]) + ax.set_autoscale_on(False) - ax.set_title("Top view", horizontalalignment="left", x=0) + ax.set_title("Top view", fontsize=self.tov_pts, horizontalalignment="left", x=0) self.draw() # necessary? if model: @@ -1155,6 +1223,13 @@ def redraw_map(self, kwargs_update=None): # 2) UPDATE MAP. self.map.update_with_coordinate_change(kwargs_update) + + # Sets the graticule ticklabels/labels fontsize for topview when map is redrawn. + if self.appearance_settings["draw_graticule"]: + self.map.set_graticule_visible(False) + self.map._draw_auto_graticule(self.tov_als) + else: + self.map.set_graticule_visible(self.appearance_settings["draw_graticule"]) self.draw() # this one is required to trigger a # drawevent to update the background # in waypoints_interactor() @@ -1172,7 +1247,12 @@ def redraw_map(self, kwargs_update=None): if self.kmloverlay: self.kmloverlay.update() - self.draw_metadata("Top view") + # self.draw_metadata() ; It is not needed here, since below here already plot title is being set. + + # Setting fontsize for topview plot title when map is redrawn. + self.ax.set_title("Top view", fontsize=self.tov_pts, horizontalalignment='left', x=0) + self.draw() + self.repaint() # Update in case of a projection change self.waypoints_interactor.update() @@ -1269,13 +1349,17 @@ def draw_legend(self, img): xticks=[], yticks=[], label="ax2", zorder=0) self.legax.patch.set_facecolor("None") + # self.legax.set_yticklabels("ax2", fontsize=32, minor=False) + # print("Legax=if" + self.legax) # If axes exist, adjust their position. else: self.legax.set_position([1 - ax_extent_x, 0.01, ax_extent_x, ax_extent_y]) - + # self.legax.set_yticklabels("ax2", fontsize=32, minor=False) + # print("Legax=else" + self.legax) # Plot the new legimg in the legax axes. self.legimg = self.legax.imshow(img, origin=PIL_IMAGE_ORIGIN, aspect="equal", interpolation="nearest") + # print("Legimg" + self.legimg) self.draw() # required so that it is actually drawn... QtWidgets.QApplication.processEvents() @@ -1313,6 +1397,8 @@ def set_map_appearance(self, settings_dict): "draw_flighttrack": True, "draw_marker": True, "label_flighttrack": True, + "tov_plot_title_size": "default", + "tov_axes_label_size": "default", "colour_water": ((153 / 255.), (255 / 255.), (255 / 255.), (255 / 255.)), "colour_land": ((204 / 255.), (153 / 255.), (102 / 255.), (255 / 255.)), "colour_ft_vertices": (0, 0, 1, 1), @@ -1320,10 +1406,17 @@ def set_map_appearance(self, settings_dict): if settings_dict is not None: settings.update(settings_dict) + # Stores the exact value of fontsize for topview plot title size(tov_pts) + self.tov_pts = (self.topview_size_settings["plot_title_size"] if settings["tov_plot_title_size"] == "default" + else int(settings["tov_plot_title_size"])) + # Stores the exact value of fontsize for topview axes label size(tov_als) + self.tov_als = (self.topview_size_settings["axes_label_size"] if settings["tov_axes_label_size"] == "default" + else int(settings["tov_axes_label_size"])) + self.appearance_settings = settings + ax = self.ax if self.map is not None: - self.map.set_graticule_visible(settings["draw_graticule"]) self.map.set_coastlines_visible(settings["draw_coastlines"]) self.map.set_fillcontinents_visible(visible=settings["fill_continents"], land_color=settings["colour_land"], @@ -1336,6 +1429,18 @@ def set_map_appearance(self, settings_dict): self.waypoints_interactor.set_vertices_visible(settings["draw_flighttrack"]) self.waypoints_interactor.set_labels_visible(settings["label_flighttrack"]) + # Updates plot title size as selected from combobox labelled plot title size. + ax.set_autoscale_on(False) + ax.set_title("Top view", fontsize=self.tov_pts, horizontalalignment="left", x=0) + + # Updates graticule ticklabels/labels fontsize if draw_graticule is True. + if settings["draw_graticule"]: + self.map.set_graticule_visible(False) + self.map._draw_auto_graticule(self.tov_als) + else: + self.map.set_graticule_visible(settings["draw_graticule"]) + self.draw() + def set_remote_sensing_appearance(self, settings): self.waypoints_interactor.set_remote_sensing(settings["reference"]) self.waypoints_interactor.set_tangent_visible(settings["draw_tangents"]) diff --git a/mslib/msui/mss_qt.py b/mslib/msui/mss_qt.py index 756d5beef..3711f7af9 100644 --- a/mslib/msui/mss_qt.py +++ b/mslib/msui/mss_qt.py @@ -177,6 +177,7 @@ def variant_to_float(variant, locale=QtCore.QLocale()): "ui_tableview_window", "ui_topview_mapappearance", "ui_topview_window", + "ui_linearview_options", "ui_linearview_window", "ui_wms_capabilities", "ui_wms_dockwidget", diff --git a/mslib/msui/qt5/ui_linearview_options.py b/mslib/msui/qt5/ui_linearview_options.py new file mode 100644 index 000000000..878d4fa2d --- /dev/null +++ b/mslib/msui/qt5/ui_linearview_options.py @@ -0,0 +1,133 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'ui_linearview_options.ui' +# +# Created by: PyQt5 UI code generator 5.12.3 +# +# WARNING! All changes made in this file will be lost! + + +from PyQt5 import QtCore, QtGui, QtWidgets + + +class Ui_LinearViewOptionsDialog(object): + def setupUi(self, LinearViewOptionsDialog): + LinearViewOptionsDialog.setObjectName("LinearViewOptionsDialog") + LinearViewOptionsDialog.resize(614, 180) + self.verticalLayout_4 = QtWidgets.QVBoxLayout(LinearViewOptionsDialog) + self.verticalLayout_4.setObjectName("verticalLayout_4") + self.groupBox_5 = QtWidgets.QGroupBox(LinearViewOptionsDialog) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.groupBox_5.sizePolicy().hasHeightForWidth()) + self.groupBox_5.setSizePolicy(sizePolicy) + self.groupBox_5.setObjectName("groupBox_5") + self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_5) + self.gridLayout_4.setObjectName("gridLayout_4") + self.lv_cbtitlesize = QtWidgets.QComboBox(self.groupBox_5) + self.lv_cbtitlesize.setObjectName("lv_cbtitlesize") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.lv_cbtitlesize.addItem("") + self.gridLayout_4.addWidget(self.lv_cbtitlesize, 3, 1, 1, 1) + self.label_2 = QtWidgets.QLabel(self.groupBox_5) + self.label_2.setObjectName("label_2") + self.gridLayout_4.addWidget(self.label_2, 3, 2, 1, 1) + self.lv_cbaxessize = QtWidgets.QComboBox(self.groupBox_5) + self.lv_cbaxessize.setObjectName("lv_cbaxessize") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.lv_cbaxessize.addItem("") + self.gridLayout_4.addWidget(self.lv_cbaxessize, 3, 3, 1, 1) + self.label = QtWidgets.QLabel(self.groupBox_5) + self.label.setObjectName("label") + self.gridLayout_4.addWidget(self.label, 3, 0, 1, 1) + self.verticalLayout_4.addWidget(self.groupBox_5) + spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_4.addItem(spacerItem) + self.buttonBox = QtWidgets.QDialogButtonBox(LinearViewOptionsDialog) + self.buttonBox.setOrientation(QtCore.Qt.Horizontal) + self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) + self.buttonBox.setObjectName("buttonBox") + self.verticalLayout_4.addWidget(self.buttonBox) + + self.retranslateUi(LinearViewOptionsDialog) + self.buttonBox.accepted.connect(LinearViewOptionsDialog.accept) + self.buttonBox.rejected.connect(LinearViewOptionsDialog.reject) + QtCore.QMetaObject.connectSlotsByName(LinearViewOptionsDialog) + + def retranslateUi(self, LinearViewOptionsDialog): + _translate = QtCore.QCoreApplication.translate + LinearViewOptionsDialog.setWindowTitle(_translate("LinearViewOptionsDialog", "Linear View Options")) + self.groupBox_5.setTitle(_translate("LinearViewOptionsDialog", "Plot Options")) + self.lv_cbtitlesize.setItemText(0, _translate("LinearViewOptionsDialog", "default")) + self.lv_cbtitlesize.setItemText(1, _translate("LinearViewOptionsDialog", "4")) + self.lv_cbtitlesize.setItemText(2, _translate("LinearViewOptionsDialog", "6")) + self.lv_cbtitlesize.setItemText(3, _translate("LinearViewOptionsDialog", "8")) + self.lv_cbtitlesize.setItemText(4, _translate("LinearViewOptionsDialog", "10")) + self.lv_cbtitlesize.setItemText(5, _translate("LinearViewOptionsDialog", "12")) + self.lv_cbtitlesize.setItemText(6, _translate("LinearViewOptionsDialog", "14")) + self.lv_cbtitlesize.setItemText(7, _translate("LinearViewOptionsDialog", "16")) + self.lv_cbtitlesize.setItemText(8, _translate("LinearViewOptionsDialog", "18")) + self.lv_cbtitlesize.setItemText(9, _translate("LinearViewOptionsDialog", "20")) + self.lv_cbtitlesize.setItemText(10, _translate("LinearViewOptionsDialog", "22")) + self.lv_cbtitlesize.setItemText(11, _translate("LinearViewOptionsDialog", "24")) + self.lv_cbtitlesize.setItemText(12, _translate("LinearViewOptionsDialog", "26")) + self.lv_cbtitlesize.setItemText(13, _translate("LinearViewOptionsDialog", "28")) + self.lv_cbtitlesize.setItemText(14, _translate("LinearViewOptionsDialog", "30")) + self.lv_cbtitlesize.setItemText(15, _translate("LinearViewOptionsDialog", "32")) + self.label_2.setText(_translate("LinearViewOptionsDialog", " Axes Label Size ")) + self.lv_cbaxessize.setItemText(0, _translate("LinearViewOptionsDialog", "default")) + self.lv_cbaxessize.setItemText(1, _translate("LinearViewOptionsDialog", "4")) + self.lv_cbaxessize.setItemText(2, _translate("LinearViewOptionsDialog", "6")) + self.lv_cbaxessize.setItemText(3, _translate("LinearViewOptionsDialog", "8")) + self.lv_cbaxessize.setItemText(4, _translate("LinearViewOptionsDialog", "10")) + self.lv_cbaxessize.setItemText(5, _translate("LinearViewOptionsDialog", "12")) + self.lv_cbaxessize.setItemText(6, _translate("LinearViewOptionsDialog", "14")) + self.lv_cbaxessize.setItemText(7, _translate("LinearViewOptionsDialog", "16")) + self.lv_cbaxessize.setItemText(8, _translate("LinearViewOptionsDialog", "18")) + self.lv_cbaxessize.setItemText(9, _translate("LinearViewOptionsDialog", "20")) + self.lv_cbaxessize.setItemText(10, _translate("LinearViewOptionsDialog", "22")) + self.lv_cbaxessize.setItemText(11, _translate("LinearViewOptionsDialog", "24")) + self.lv_cbaxessize.setItemText(12, _translate("LinearViewOptionsDialog", "26")) + self.lv_cbaxessize.setItemText(13, _translate("LinearViewOptionsDialog", "28")) + self.lv_cbaxessize.setItemText(14, _translate("LinearViewOptionsDialog", "30")) + self.lv_cbaxessize.setItemText(15, _translate("LinearViewOptionsDialog", "32")) + self.label.setText(_translate("LinearViewOptionsDialog", " Plot Title Size")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + LinearViewOptionsDialog = QtWidgets.QDialog() + ui = Ui_LinearViewOptionsDialog() + ui.setupUi(LinearViewOptionsDialog) + LinearViewOptionsDialog.show() + sys.exit(app.exec_()) diff --git a/mslib/msui/qt5/ui_linearview_window.py b/mslib/msui/qt5/ui_linearview_window.py index 9a4902adc..0c1158949 100644 --- a/mslib/msui/qt5/ui_linearview_window.py +++ b/mslib/msui/qt5/ui_linearview_window.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Form implementation generated from reading ui file 'mslib/msui/ui/ui_linearview_window.ui' +# Form implementation generated from reading ui file 'ui_linearview_window.ui' # # Created by: PyQt5 UI code generator 5.12.3 # @@ -41,6 +41,9 @@ def setupUi(self, LinearWindow): self.horizontalLayout.addWidget(self.cbTools) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) + self.lvoptionbtn = QtWidgets.QPushButton(self.centralwidget) + self.lvoptionbtn.setObjectName("lvoptionbtn") + self.horizontalLayout.addWidget(self.lvoptionbtn) self.verticalLayout.addLayout(self.horizontalLayout) LinearWindow.setCentralWidget(self.centralwidget) @@ -52,4 +55,15 @@ def retranslateUi(self, LinearWindow): LinearWindow.setWindowTitle(_translate("LinearWindow", "Linear View - Mission Support System")) self.cbTools.setItemText(0, _translate("LinearWindow", "(select to open control)")) self.cbTools.setItemText(1, _translate("LinearWindow", "WMS")) + self.lvoptionbtn.setText(_translate("LinearWindow", "options")) from mslib.msui.mpl_qtwidget import MplLinearViewWidget + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + LinearWindow = QtWidgets.QMainWindow() + ui = Ui_LinearWindow() + ui.setupUi(LinearWindow) + LinearWindow.show() + sys.exit(app.exec_()) diff --git a/mslib/msui/qt5/ui_sideview_options.py b/mslib/msui/qt5/ui_sideview_options.py index 4bb27ecf1..42872c64a 100644 --- a/mslib/msui/qt5/ui_sideview_options.py +++ b/mslib/msui/qt5/ui_sideview_options.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Form implementation generated from reading ui file 'mslib/msui/ui/ui_sideview_options.ui' +# Form implementation generated from reading ui file 'ui_sideview_options.ui' # # Created by: PyQt5 UI code generator 5.12.3 # @@ -13,7 +13,7 @@ class Ui_SideViewOptionsDialog(object): def setupUi(self, SideViewOptionsDialog): SideViewOptionsDialog.setObjectName("SideViewOptionsDialog") - SideViewOptionsDialog.resize(489, 647) + SideViewOptionsDialog.resize(538, 711) self.verticalLayout_4 = QtWidgets.QVBoxLayout(SideViewOptionsDialog) self.verticalLayout_4.setObjectName("verticalLayout_4") self.groupBox = QtWidgets.QGroupBox(SideViewOptionsDialog) @@ -55,6 +55,17 @@ def setupUi(self, SideViewOptionsDialog): self.verticalLayout_6.addLayout(self.horizontalLayout) self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") + self.cbVerticalAxis = QtWidgets.QComboBox(self.groupBox) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.cbVerticalAxis.sizePolicy().hasHeightForWidth()) + self.cbVerticalAxis.setSizePolicy(sizePolicy) + self.cbVerticalAxis.setObjectName("cbVerticalAxis") + self.cbVerticalAxis.addItem("") + self.cbVerticalAxis.addItem("") + self.cbVerticalAxis.addItem("") + self.gridLayout.addWidget(self.cbVerticalAxis, 0, 1, 1, 1) self.label_5 = QtWidgets.QLabel(self.groupBox) self.label_5.setObjectName("label_5") self.gridLayout.addWidget(self.label_5, 1, 0, 1, 1) @@ -70,17 +81,6 @@ def setupUi(self, SideViewOptionsDialog): self.cbVerticalAxis2.addItem("") self.cbVerticalAxis2.addItem("") self.gridLayout.addWidget(self.cbVerticalAxis2, 1, 1, 1, 1) - self.cbVerticalAxis = QtWidgets.QComboBox(self.groupBox) - sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) - sizePolicy.setHorizontalStretch(0) - sizePolicy.setVerticalStretch(0) - sizePolicy.setHeightForWidth(self.cbVerticalAxis.sizePolicy().hasHeightForWidth()) - self.cbVerticalAxis.setSizePolicy(sizePolicy) - self.cbVerticalAxis.setObjectName("cbVerticalAxis") - self.cbVerticalAxis.addItem("") - self.cbVerticalAxis.addItem("") - self.cbVerticalAxis.addItem("") - self.gridLayout.addWidget(self.cbVerticalAxis, 0, 1, 1, 1) self.label_4 = QtWidgets.QLabel(self.groupBox) self.label_4.setObjectName("label_4") self.gridLayout.addWidget(self.label_4, 0, 0, 1, 1) @@ -225,6 +225,59 @@ def setupUi(self, SideViewOptionsDialog): self.horizontalLayout_2.addItem(spacerItem4) self.verticalLayout_5.addLayout(self.horizontalLayout_2) self.verticalLayout_4.addWidget(self.groupBox_4) + spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_4.addItem(spacerItem5) + self.groupBox_5 = QtWidgets.QGroupBox(SideViewOptionsDialog) + self.groupBox_5.setObjectName("groupBox_5") + self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox_5) + self.gridLayout_4.setObjectName("gridLayout_4") + self.cbtitlesize = QtWidgets.QComboBox(self.groupBox_5) + self.cbtitlesize.setObjectName("cbtitlesize") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.cbtitlesize.addItem("") + self.gridLayout_4.addWidget(self.cbtitlesize, 3, 1, 1, 1) + self.label_7 = QtWidgets.QLabel(self.groupBox_5) + self.label_7.setObjectName("label_7") + self.gridLayout_4.addWidget(self.label_7, 3, 2, 1, 1) + self.cbaxessize = QtWidgets.QComboBox(self.groupBox_5) + self.cbaxessize.setObjectName("cbaxessize") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.cbaxessize.addItem("") + self.gridLayout_4.addWidget(self.cbaxessize, 3, 3, 1, 1) + self.label = QtWidgets.QLabel(self.groupBox_5) + self.label.setObjectName("label") + self.gridLayout_4.addWidget(self.label, 3, 0, 1, 1) + self.verticalLayout_4.addWidget(self.groupBox_5) + spacerItem6 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout_4.addItem(spacerItem6) self.buttonBox = QtWidgets.QDialogButtonBox(SideViewOptionsDialog) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) @@ -258,14 +311,14 @@ def retranslateUi(self, SideViewOptionsDialog): self.sbPbot.setSuffix(_translate("SideViewOptionsDialog", " hpa")) self.label_3.setText(_translate("SideViewOptionsDialog", "to")) self.sbPtop.setSuffix(_translate("SideViewOptionsDialog", " hpa")) + self.cbVerticalAxis.setItemText(0, _translate("SideViewOptionsDialog", "pressure")) + self.cbVerticalAxis.setItemText(1, _translate("SideViewOptionsDialog", "pressure altitude")) + self.cbVerticalAxis.setItemText(2, _translate("SideViewOptionsDialog", "flight level")) self.label_5.setText(_translate("SideViewOptionsDialog", "Secondary axis units: ")) self.cbVerticalAxis2.setItemText(0, _translate("SideViewOptionsDialog", "no secondary axis")) self.cbVerticalAxis2.setItemText(1, _translate("SideViewOptionsDialog", "pressure")) self.cbVerticalAxis2.setItemText(2, _translate("SideViewOptionsDialog", "pressure altitude")) self.cbVerticalAxis2.setItemText(3, _translate("SideViewOptionsDialog", "flight level")) - self.cbVerticalAxis.setItemText(0, _translate("SideViewOptionsDialog", "pressure")) - self.cbVerticalAxis.setItemText(1, _translate("SideViewOptionsDialog", "pressure altitude")) - self.cbVerticalAxis.setItemText(2, _translate("SideViewOptionsDialog", "flight level")) self.label_4.setText(_translate("SideViewOptionsDialog", "Vertical axis units: ")) self.groupBox_2.setTitle(_translate("SideViewOptionsDialog", "Flight Levels")) self.cbDrawFlightLevels.setText(_translate("SideViewOptionsDialog", "draw the following flight levels:")) @@ -287,3 +340,48 @@ def retranslateUi(self, SideViewOptionsDialog): self.groupBox_4.setTitle(_translate("SideViewOptionsDialog", "Performance")) self.cbDrawCeiling.setText(_translate("SideViewOptionsDialog", "draw ceiling altitude")) self.btCeilingColour.setText(_translate("SideViewOptionsDialog", "colour")) + self.groupBox_5.setTitle(_translate("SideViewOptionsDialog", "Plot Options")) + self.cbtitlesize.setItemText(0, _translate("SideViewOptionsDialog", "default")) + self.cbtitlesize.setItemText(1, _translate("SideViewOptionsDialog", "4")) + self.cbtitlesize.setItemText(2, _translate("SideViewOptionsDialog", "6")) + self.cbtitlesize.setItemText(3, _translate("SideViewOptionsDialog", "8")) + self.cbtitlesize.setItemText(4, _translate("SideViewOptionsDialog", "10")) + self.cbtitlesize.setItemText(5, _translate("SideViewOptionsDialog", "12")) + self.cbtitlesize.setItemText(6, _translate("SideViewOptionsDialog", "14")) + self.cbtitlesize.setItemText(7, _translate("SideViewOptionsDialog", "16")) + self.cbtitlesize.setItemText(8, _translate("SideViewOptionsDialog", "18")) + self.cbtitlesize.setItemText(9, _translate("SideViewOptionsDialog", "20")) + self.cbtitlesize.setItemText(10, _translate("SideViewOptionsDialog", "22")) + self.cbtitlesize.setItemText(11, _translate("SideViewOptionsDialog", "24")) + self.cbtitlesize.setItemText(12, _translate("SideViewOptionsDialog", "26")) + self.cbtitlesize.setItemText(13, _translate("SideViewOptionsDialog", "28")) + self.cbtitlesize.setItemText(14, _translate("SideViewOptionsDialog", "30")) + self.cbtitlesize.setItemText(15, _translate("SideViewOptionsDialog", "32")) + self.label_7.setText(_translate("SideViewOptionsDialog", " Axes Label Size ")) + self.cbaxessize.setItemText(0, _translate("SideViewOptionsDialog", "default")) + self.cbaxessize.setItemText(1, _translate("SideViewOptionsDialog", "4")) + self.cbaxessize.setItemText(2, _translate("SideViewOptionsDialog", "6")) + self.cbaxessize.setItemText(3, _translate("SideViewOptionsDialog", "8")) + self.cbaxessize.setItemText(4, _translate("SideViewOptionsDialog", "10")) + self.cbaxessize.setItemText(5, _translate("SideViewOptionsDialog", "12")) + self.cbaxessize.setItemText(6, _translate("SideViewOptionsDialog", "14")) + self.cbaxessize.setItemText(7, _translate("SideViewOptionsDialog", "16")) + self.cbaxessize.setItemText(8, _translate("SideViewOptionsDialog", "18")) + self.cbaxessize.setItemText(9, _translate("SideViewOptionsDialog", "20")) + self.cbaxessize.setItemText(10, _translate("SideViewOptionsDialog", "22")) + self.cbaxessize.setItemText(11, _translate("SideViewOptionsDialog", "24")) + self.cbaxessize.setItemText(12, _translate("SideViewOptionsDialog", "26")) + self.cbaxessize.setItemText(13, _translate("SideViewOptionsDialog", "28")) + self.cbaxessize.setItemText(14, _translate("SideViewOptionsDialog", "30")) + self.cbaxessize.setItemText(15, _translate("SideViewOptionsDialog", "32")) + self.label.setText(_translate("SideViewOptionsDialog", " Plot Title Size")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + SideViewOptionsDialog = QtWidgets.QDialog() + ui = Ui_SideViewOptionsDialog() + ui.setupUi(SideViewOptionsDialog) + SideViewOptionsDialog.show() + sys.exit(app.exec_()) diff --git a/mslib/msui/qt5/ui_topview_mapappearance.py b/mslib/msui/qt5/ui_topview_mapappearance.py index bfb3491d6..1fe55f036 100644 --- a/mslib/msui/qt5/ui_topview_mapappearance.py +++ b/mslib/msui/qt5/ui_topview_mapappearance.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Form implementation generated from reading ui file 'mslib/msui/ui/ui_topview_mapappearance.ui' +# Form implementation generated from reading ui file 'ui_topview_mapappearance.ui' # # Created by: PyQt5 UI code generator 5.12.3 # @@ -13,7 +13,7 @@ class Ui_MapAppearanceDialog(object): def setupUi(self, MapAppearanceDialog): MapAppearanceDialog.setObjectName("MapAppearanceDialog") - MapAppearanceDialog.resize(465, 265) + MapAppearanceDialog.resize(462, 387) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -161,6 +161,57 @@ def setupUi(self, MapAppearanceDialog): self.verticalLayout.addLayout(self.horizontalLayout_4) spacerItem4 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem4) + self.groupBox = QtWidgets.QGroupBox(MapAppearanceDialog) + self.groupBox.setObjectName("groupBox") + self.gridLayout_4 = QtWidgets.QGridLayout(self.groupBox) + self.gridLayout_4.setObjectName("gridLayout_4") + self.tov_cbtitlesize = QtWidgets.QComboBox(self.groupBox) + self.tov_cbtitlesize.setObjectName("tov_cbtitlesize") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.tov_cbtitlesize.addItem("") + self.gridLayout_4.addWidget(self.tov_cbtitlesize, 3, 1, 1, 1) + self.label_7 = QtWidgets.QLabel(self.groupBox) + self.label_7.setObjectName("label_7") + self.gridLayout_4.addWidget(self.label_7, 3, 2, 1, 1) + self.tov_cbaxessize = QtWidgets.QComboBox(self.groupBox) + self.tov_cbaxessize.setObjectName("tov_cbaxessize") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.tov_cbaxessize.addItem("") + self.gridLayout_4.addWidget(self.tov_cbaxessize, 3, 3, 1, 1) + self.label = QtWidgets.QLabel(self.groupBox) + self.label.setObjectName("label") + self.gridLayout_4.addWidget(self.label, 3, 0, 1, 1) + self.verticalLayout.addWidget(self.groupBox) + spacerItem5 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) + self.verticalLayout.addItem(spacerItem5) self.buttonBox = QtWidgets.QDialogButtonBox(MapAppearanceDialog) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok) @@ -187,3 +238,48 @@ def retranslateUi(self, MapAppearanceDialog): self.cbDrawMarker.setText(_translate("MapAppearanceDialog", "draw marker")) self.btWaypointsColour.setText(_translate("MapAppearanceDialog", "colour of waypoints")) self.cbLabelFlightTrack.setText(_translate("MapAppearanceDialog", "label flight track")) + self.groupBox.setTitle(_translate("MapAppearanceDialog", "Plot Options")) + self.tov_cbtitlesize.setItemText(0, _translate("MapAppearanceDialog", "default")) + self.tov_cbtitlesize.setItemText(1, _translate("MapAppearanceDialog", "4")) + self.tov_cbtitlesize.setItemText(2, _translate("MapAppearanceDialog", "6")) + self.tov_cbtitlesize.setItemText(3, _translate("MapAppearanceDialog", "8")) + self.tov_cbtitlesize.setItemText(4, _translate("MapAppearanceDialog", "10")) + self.tov_cbtitlesize.setItemText(5, _translate("MapAppearanceDialog", "12")) + self.tov_cbtitlesize.setItemText(6, _translate("MapAppearanceDialog", "14")) + self.tov_cbtitlesize.setItemText(7, _translate("MapAppearanceDialog", "16")) + self.tov_cbtitlesize.setItemText(8, _translate("MapAppearanceDialog", "18")) + self.tov_cbtitlesize.setItemText(9, _translate("MapAppearanceDialog", "20")) + self.tov_cbtitlesize.setItemText(10, _translate("MapAppearanceDialog", "22")) + self.tov_cbtitlesize.setItemText(11, _translate("MapAppearanceDialog", "24")) + self.tov_cbtitlesize.setItemText(12, _translate("MapAppearanceDialog", "26")) + self.tov_cbtitlesize.setItemText(13, _translate("MapAppearanceDialog", "28")) + self.tov_cbtitlesize.setItemText(14, _translate("MapAppearanceDialog", "30")) + self.tov_cbtitlesize.setItemText(15, _translate("MapAppearanceDialog", "32")) + self.label_7.setText(_translate("MapAppearanceDialog", " Axes Label Size ")) + self.tov_cbaxessize.setItemText(0, _translate("MapAppearanceDialog", "default")) + self.tov_cbaxessize.setItemText(1, _translate("MapAppearanceDialog", "4")) + self.tov_cbaxessize.setItemText(2, _translate("MapAppearanceDialog", "6")) + self.tov_cbaxessize.setItemText(3, _translate("MapAppearanceDialog", "8")) + self.tov_cbaxessize.setItemText(4, _translate("MapAppearanceDialog", "10")) + self.tov_cbaxessize.setItemText(5, _translate("MapAppearanceDialog", "12")) + self.tov_cbaxessize.setItemText(6, _translate("MapAppearanceDialog", "14")) + self.tov_cbaxessize.setItemText(7, _translate("MapAppearanceDialog", "16")) + self.tov_cbaxessize.setItemText(8, _translate("MapAppearanceDialog", "18")) + self.tov_cbaxessize.setItemText(9, _translate("MapAppearanceDialog", "20")) + self.tov_cbaxessize.setItemText(10, _translate("MapAppearanceDialog", "22")) + self.tov_cbaxessize.setItemText(11, _translate("MapAppearanceDialog", "24")) + self.tov_cbaxessize.setItemText(12, _translate("MapAppearanceDialog", "26")) + self.tov_cbaxessize.setItemText(13, _translate("MapAppearanceDialog", "28")) + self.tov_cbaxessize.setItemText(14, _translate("MapAppearanceDialog", "30")) + self.tov_cbaxessize.setItemText(15, _translate("MapAppearanceDialog", "32")) + self.label.setText(_translate("MapAppearanceDialog", " Plot Title Size")) + + +if __name__ == "__main__": + import sys + app = QtWidgets.QApplication(sys.argv) + MapAppearanceDialog = QtWidgets.QDialog() + ui = Ui_MapAppearanceDialog() + ui.setupUi(MapAppearanceDialog) + MapAppearanceDialog.show() + sys.exit(app.exec_()) diff --git a/mslib/msui/sideview.py b/mslib/msui/sideview.py index fc8c1a02e..60888b320 100644 --- a/mslib/msui/sideview.py +++ b/mslib/msui/sideview.py @@ -60,6 +60,8 @@ def __init__(self, parent=None, settings_dict=None): "vertical_extent": (1050, 180), "vertical_axis": "pressure", "secondary_axis": "no secondary axis", + "plot_title_size": "default", + "axes_label_size": "default", "flightlevels": [300, 320, 340], "draw_flightlevels": True, "draw_flighttrack": True, @@ -98,6 +100,14 @@ def __init__(self, parent=None, settings_dict=None): if self.cbVerticalAxis2.itemText(i) == settings_dict["secondary_axis"]: self.cbVerticalAxis2.setCurrentIndex(i) + # Shows previously selected element in the fontsize comboboxes as the current index. + for i in range(self.cbtitlesize.count()): + if self.cbtitlesize.itemText(i) == settings_dict["plot_title_size"]: + self.cbtitlesize.setCurrentIndex(i) + for i in range(self.cbaxessize.count()): + if self.cbaxessize.itemText(i) == settings_dict["axes_label_size"]: + self.cbaxessize.setCurrentIndex(i) + self.cbDrawFlightLevels.setChecked(settings_dict["draw_flightlevels"]) self.cbDrawFlightTrack.setChecked(settings_dict["draw_flighttrack"]) self.cbFillFlightTrack.setChecked(settings_dict["fill_flighttrack"]) @@ -213,6 +223,8 @@ def get_settings(self): "vertical_extent": (float(self.sbPbot.value()), float(self.sbPtop.value())), "vertical_axis": self.cbVerticalAxis.currentText(), "secondary_axis": self.cbVerticalAxis2.currentText(), + "plot_title_size": self.cbtitlesize.currentText(), + "axes_label_size": self.cbaxessize.currentText(), "flightlevels": self.get_flight_levels(), "draw_ceiling": self.cbDrawCeiling.isChecked(), "draw_verticals": self.cbVerticalLines.isChecked(), diff --git a/mslib/msui/topview.py b/mslib/msui/topview.py index e33889c63..9a2198cf5 100644 --- a/mslib/msui/topview.py +++ b/mslib/msui/topview.py @@ -71,6 +71,8 @@ def __init__(self, parent=None, settings_dict=None, wms_connected=False): "draw_flighttrack": True, "draw_marker": True, "label_flighttrack": True, + "tov_plot_title_size": "default", + "tov_axes_label_size": "default", "colour_water": (0, 0, 0, 0), "colour_land": (0, 0, 0, 0), "colour_ft_vertices": (0, 0, 0, 0), @@ -114,6 +116,15 @@ def __init__(self, parent=None, settings_dict=None, wms_connected=False): self.btWaypointsColour.clicked.connect(functools.partial(self.setColour, "ft_waypoints")) self.btVerticesColour.clicked.connect(functools.partial(self.setColour, "ft_vertices")) + # Shows previously selected element in the fontsize comboboxes as the current index. + for i in range(self.tov_cbtitlesize.count()): + if self.tov_cbtitlesize.itemText(i) == settings_dict["tov_plot_title_size"]: + self.tov_cbtitlesize.setCurrentIndex(i) + + for i in range(self.tov_cbaxessize.count()): + if self.tov_cbaxessize.itemText(i) == settings_dict["tov_axes_label_size"]: + self.tov_cbaxessize.setCurrentIndex(i) + def get_settings(self): """ """ @@ -125,6 +136,8 @@ def get_settings(self): "draw_flighttrack": self.cbDrawFlightTrack.isChecked(), "draw_marker": self.cbDrawMarker.isChecked(), "label_flighttrack": self.cbLabelFlightTrack.isChecked(), + "tov_plot_title_size": self.tov_cbtitlesize.currentText(), + "tov_axes_label_size": self.tov_cbaxessize.currentText(), "colour_water": QtGui.QPalette(self.btWaterColour.palette()).color(QtGui.QPalette.Button).getRgbF(), diff --git a/mslib/msui/ui/ui_linearview_options.ui b/mslib/msui/ui/ui_linearview_options.ui new file mode 100644 index 000000000..b28bc977c --- /dev/null +++ b/mslib/msui/ui/ui_linearview_options.ui @@ -0,0 +1,274 @@ + + + LinearViewOptionsDialog + + + + 0 + 0 + 614 + 180 + + + + Linear View Options + + + + + + + 0 + 0 + + + + Plot Options + + + + + + + default + + + + + 4 + + + + + 6 + + + + + 8 + + + + + 10 + + + + + 12 + + + + + 14 + + + + + 16 + + + + + 18 + + + + + 20 + + + + + 22 + + + + + 24 + + + + + 26 + + + + + 28 + + + + + 30 + + + + + 32 + + + + + + + + Axes Label Size + + + + + + + + default + + + + + 4 + + + + + 6 + + + + + 8 + + + + + 10 + + + + + 12 + + + + + 14 + + + + + 16 + + + + + 18 + + + + + 20 + + + + + 22 + + + + + 24 + + + + + 26 + + + + + 28 + + + + + 30 + + + + + 32 + + + + + + + + Plot Title Size + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + LinearViewOptionsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + LinearViewOptionsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/mslib/msui/ui/ui_linearview_window.ui b/mslib/msui/ui/ui_linearview_window.ui index db4892f35..e55f4ec49 100644 --- a/mslib/msui/ui/ui_linearview_window.ui +++ b/mslib/msui/ui/ui_linearview_window.ui @@ -66,6 +66,13 @@ + + + + options + + + diff --git a/mslib/msui/ui/ui_sideview_options.ui b/mslib/msui/ui/ui_sideview_options.ui index 7fb067743..8ffa3b08b 100644 --- a/mslib/msui/ui/ui_sideview_options.ui +++ b/mslib/msui/ui/ui_sideview_options.ui @@ -6,8 +6,8 @@ 0 0 - 489 - 647 + 538 + 711 @@ -90,26 +90,14 @@ - - - - Secondary axis units: - - - - - + + 0 0 - - - no secondary axis - - pressure @@ -127,14 +115,26 @@ - - + + + + Secondary axis units: + + + + + 0 0 + + + no secondary axis + + pressure @@ -530,6 +530,223 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Plot Options + + + + + + + default + + + + + 4 + + + + + 6 + + + + + 8 + + + + + 10 + + + + + 12 + + + + + 14 + + + + + 16 + + + + + 18 + + + + + 20 + + + + + 22 + + + + + 24 + + + + + 26 + + + + + 28 + + + + + 30 + + + + + 32 + + + + + + + + Axes Label Size + + + + + + + + default + + + + + 4 + + + + + 6 + + + + + 8 + + + + + 10 + + + + + 12 + + + + + 14 + + + + + 16 + + + + + 18 + + + + + 20 + + + + + 22 + + + + + 24 + + + + + 26 + + + + + 28 + + + + + 30 + + + + + 32 + + + + + + + + Plot Title Size + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + diff --git a/mslib/msui/ui/ui_topview_mapappearance.ui b/mslib/msui/ui/ui_topview_mapappearance.ui index b5dfc8f7d..ac35de876 100644 --- a/mslib/msui/ui/ui_topview_mapappearance.ui +++ b/mslib/msui/ui/ui_topview_mapappearance.ui @@ -6,8 +6,8 @@ 0 0 - 465 - 265 + 462 + 387 @@ -438,6 +438,210 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Plot Options + + + + + + + default + + + + + 4 + + + + + 6 + + + + + 8 + + + + + 10 + + + + + 12 + + + + + 14 + + + + + 16 + + + + + 18 + + + + + 20 + + + + + 22 + + + + + 24 + + + + + 26 + + + + + 28 + + + + + 30 + + + + + 32 + + + + + + + + Axes Label Size + + + + + + + + default + + + + + 4 + + + + + 6 + + + + + 8 + + + + + 10 + + + + + 12 + + + + + 14 + + + + + 16 + + + + + 18 + + + + + 20 + + + + + 22 + + + + + 24 + + + + + 26 + + + + + 28 + + + + + 30 + + + + + 32 + + + + + + + + Plot Title Size + + + + + +