Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
E
EBVCubeVisualizerPlugin
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
no67wuwu
EBVCubeVisualizerPlugin
Commits
f0e01648
Commit
f0e01648
authored
2 years ago
by
Emmanuel Heriberto Oceguera Conchas
Browse files
Options
Downloads
Patches
Plain Diff
has been updated
parent
37d68b60
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
netCDF_visualizer.py
+101
-8
101 additions, 8 deletions
netCDF_visualizer.py
with
101 additions
and
8 deletions
netCDF_visualizer.py
+
101
−
8
View file @
f0e01648
'''
/****************************************************************************************
* This is a python script for visualizing netCDF files using PyQt5 and matplotlib
*
* The script is based on the QGIS plugin template by Gispo
*
*
*
*
****************************************************************************************/
...
...
@@ -37,19 +37,112 @@ class netCDFVisualizer:
"""
This is a class for the netCDFVisualizer Plugin
"""
#we set that we need the iface to build something with the class
def
__init__
(
self
,
iface
):
"""
Constructor.
:param iface: An interface instance that will be passed to this class
which provides the hook by which you can manipulate the QGIS
application at run time.
:type iface: QgsInterface
"""
#our class builds netCDF_visualization Plugins
#self is a Plugin
#we set the iface as an attribute!!
self
.
iface
=
iface
#decalre instance attributes
self
.
actions
=
[]
self
.
menu
=
self
.
tr
(
u
'
&netCDFVisualizer
'
)
def
tr
(
self
,
message
):
"""
Get the translation for a string using Qt translation API.
We implement this ourselves since we do not inherit QObject.
:param message: String for translation.
:type message: str, QString
:returns: Translated version of message.
:rtype: QString
"""
return
QCoreApplication
.
translate
(
'
netCDFVisualizer
'
,
message
)
def
add_action
(
self
,
icon_path
,
text
,
callback
,
enabled_flag
=
True
,
add_to_menu
=
True
,
add_to_toolbar
=
True
,
status_tip
=
None
,
whats_this
=
None
,
parent
=
None
):
"""
Add a toolbar icon to the toolbar.
:param icon_path: Path to the icon for this action. Can be a resource
path (e.g.
'
:/plugins/foo/bar.png
'
) or a normal file system path.
:type icon_path: str
:param text: Text that should be shown in menu items for this action.
:type text: str
:param callback: Function to be called when the action is triggered.
:type callback: function
:param enabled_flag: A flag indicating if the action should be enabled
by default. Defaults to True.
:type enabled_flag: bool
:param add_to_menu: Flag indicating whether the action should also
be added to the menu. Defaults to True.
:type add_to_menu: bool
:param add_to_toolbar: Flag indicating whether the action should also
be added to the toolbar. Defaults to True.
:type add_to_toolbar: bool
:param status_tip: Optional text to show in a popup when mouse pointer
hovers over the action.
:type status_tip: str
:param parent: Parent widget for the new action. Defaults None.
:type parent: QWidget
:param whats_this: Optional text to show in the status bar when the
mouse pointer hovers over the action.
:returns: The action that was created. Note that the action is also
added to self.actions list.
:rtype: QAction
"""
icon
=
QIcon
(
icon_path
)
action
=
QAction
(
icon
,
text
,
parent
)
action
.
triggered
.
connect
(
callback
)
action
.
setEnabled
(
enabled_flag
)
if
status_tip
is
not
None
:
action
.
setStatusTip
(
status_tip
)
if
whats_this
is
not
None
:
action
.
setWhatsThis
(
whats_this
)
if
add_to_toolbar
:
self
.
iface
.
addToolBarIcon
(
action
)
if
add_to_menu
:
self
.
iface
.
addPluginToMenu
(
self
.
menu
,
action
)
self
.
actions
.
append
(
action
)
return
action
#when we click the plugin in QGIS the plugin will be loaded
def
initGui
(
self
):
#we build the menu item without placing it already in the menu
self
.
pluginButton
=
QAction
(
'
start
'
,
self
.
iface
.
mainWindow
())
#we connect the menu item
self
.
iface
.
addPluginToMenu
(
'
netCDFVisualizer
'
,
self
.
pluginButton
)
#whenever self.pluginButton is clicked, the maskCall should be executed
self
.
pluginButton
.
triggered
.
connect
(
self
.
callMask
)
"""
Create the menu entries and toolbar icons inside the QGIS GUI.
"""
icon_path
=
'
:/plugins/netCDFVisualizer/icon.png
'
self
.
add_action
(
icon_path
,
text
=
self
.
tr
(
u
'
netCDFVisualizer
'
),
callback
=
self
.
callMask
,
parent
=
self
.
iface
.
mainWindow
())
#when we close the plugin in QGIS the plugin will be unloaded
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment