added utility tools button to main pages

This commit is contained in:
pavanvpatil 2022-08-17 17:07:23 +05:30
parent 58ea2e30a2
commit 21542377e2
7 changed files with 875 additions and 187 deletions

View File

@ -59,11 +59,12 @@ SOURCES = \
align_sort.c align_sort.h \ align_sort.c align_sort.h \
ipdcGui.c ipdcGui.h \ ipdcGui.c ipdcGui.h \
attack_detection.c attack_detection.h \ attack_detection.c attack_detection.h \
data_vis.c data_vis.h data_vis.c data_vis.h \
utility_tools.c utility_tools.h
OBJECTS = ipdc.c recreate.o connections.o new_pmu_or_pdc.o parser.o dallocate.o align_sort.o ipdcGui.o attack_detection.o data_vis.o OBJECTS = ipdc.c recreate.o connections.o new_pmu_or_pdc.o parser.o dallocate.o align_sort.o ipdcGui.o attack_detection.o data_vis.o utility_tools.o
CLEAN_OBJECTS = recreate.o connections.o new_pmu_or_pdc.o parser.o dallocate.o align_sort.o ipdcGui.o iPDC.xml CLEAN_OBJECTS = recreate.o connections.o new_pmu_or_pdc.o parser.o dallocate.o align_sort.o ipdcGui.o ~iPDC.xml
PROGRAM = iPDC PROGRAM = iPDC

View File

@ -1,122 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 --> <!-- Generated with glade 3.22.2 -->
<interface> <interface>
<requires lib="gtk+" version="3.0"/> <requires lib="gtk+" version="3.0"/>
<object class="GtkAccelGroup" id="accelgroup1"/> <object class="GtkAccelGroup" id="accelgroup1"/>
<object class="GtkImage" id="image1"> <object class="GtkImage" id="image1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-properties</property> <property name="stock">gtk-properties</property>
</object> </object>
<object class="GtkImage" id="image10"> <object class="GtkImage" id="image10">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-go-up</property> <property name="stock">gtk-go-up</property>
<property name="pixel-size">10</property> <property name="pixel_size">10</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image11"> <object class="GtkImage" id="image11">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-go-down</property> <property name="stock">gtk-go-down</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image12"> <object class="GtkImage" id="image12">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-select-color</property> <property name="stock">gtk-select-color</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image13"> <object class="GtkImage" id="image13">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-close</property> <property name="stock">gtk-close</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image14"> <object class="GtkImage" id="image14">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-add</property> <property name="stock">gtk-add</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image15"> <object class="GtkImage" id="image15">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-about</property> <property name="stock">gtk-about</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image2"> <object class="GtkImage" id="image2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-missing-image</property> <property name="stock">gtk-missing-image</property>
</object> </object>
<object class="GtkImage" id="image3"> <object class="GtkImage" id="image3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-quit</property> <property name="stock">gtk-quit</property>
<property name="pixel-size">10</property> <property name="pixel_size">10</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image4"> <object class="GtkImage" id="image4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-open</property> <property name="stock">gtk-open</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image5"> <object class="GtkImage" id="image5">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-properties</property> <property name="stock">gtk-properties</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image6"> <object class="GtkImage" id="image6">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-new</property> <property name="stock">gtk-new</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image7"> <object class="GtkImage" id="image7">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-sort-ascending</property> <property name="stock">gtk-sort-ascending</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image8"> <object class="GtkImage" id="image8">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-remove</property> <property name="stock">gtk-remove</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkImage" id="image9"> <object class="GtkImage" id="image9">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="stock">gtk-media-stop</property> <property name="stock">gtk-media-stop</property>
<property name="icon_size">1</property> <property name="icon_size">1</property>
</object> </object>
<object class="GtkWindow" id="ipdc"> <object class="GtkWindow" id="ipdc">
<property name="can-focus">False</property> <property name="width_request">800</property>
<property name="tooltip-text" translatable="yes">iPDC - A Free Phasor Data Concentrator. <property name="height_request">600</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">iPDC - A Free Phasor Data Concentrator.
Supportive IEEE C37.118 Synchrophasor std.</property> Supportive IEEE C37.118 Synchrophasor std.</property>
<property name="title" translatable="yes">iPDC - v1.3</property> <property name="title" translatable="yes">iPDC - v1.3</property>
<property name="window-position">center-on-parent</property> <property name="window_position">center-on-parent</property>
<property name="default-width">710</property> <property name="default_width">710</property>
<property name="default-height">590</property> <property name="default_height">590</property>
<property name="icon-name">gnome-obex-server</property> <property name="icon_name">gnome-obex-server</property>
<property name="focus-on-map">False</property> <property name="focus_on_map">False</property>
<property name="gravity">center</property> <property name="gravity">center</property>
<child type="titlebar">
<placeholder/>
</child>
<child> <child>
<object class="GtkLayout" id="layout1"> <object class="GtkLayout" id="layout1">
<property name="width_request">800</property>
<property name="height_request">600</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<child> <child>
<object class="GtkButton" id="add_pmu_button"> <object class="GtkButton" id="add_pmu_button">
<property name="label" translatable="yes">Add a Source Device</property> <property name="label" translatable="yes">Add a Source Device</property>
<property name="width-request">240</property> <property name="width_request">284</property>
<property name="height-request">35</property> <property name="height_request">35</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can_focus">True</property>
<property name="receives-default">True</property> <property name="receives_default">True</property>
<property name="tooltip-text" translatable="yes">PMU/PDC device from which configuration <property name="tooltip_text" translatable="yes">PMU/PDC device from which configuration
and data frames would be received.</property> and data frames would be received.</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
@ -128,12 +135,12 @@ and data frames would be received.</property>
<child> <child>
<object class="GtkButton" id="remove_pmu_button"> <object class="GtkButton" id="remove_pmu_button">
<property name="label" translatable="yes">Remove a Source Device</property> <property name="label" translatable="yes">Remove a Source Device</property>
<property name="width-request">240</property> <property name="width_request">284</property>
<property name="height-request">35</property> <property name="height_request">35</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can_focus">True</property>
<property name="receives-default">True</property> <property name="receives_default">True</property>
<property name="tooltip-text" translatable="yes">Remove PMU/PDC device from which <property name="tooltip_text" translatable="yes">Remove PMU/PDC device from which
data frames are being received.</property> data frames are being received.</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
@ -145,12 +152,12 @@ data frames are being received.</property>
<child> <child>
<object class="GtkButton" id="cmd_data_off_button"> <object class="GtkButton" id="cmd_data_off_button">
<property name="label" translatable="yes">Turn OFF Data Transmission</property> <property name="label" translatable="yes">Turn OFF Data Transmission</property>
<property name="width-request">240</property> <property name="width_request">284</property>
<property name="height-request">35</property> <property name="height_request">35</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can_focus">True</property>
<property name="receives-default">True</property> <property name="receives_default">True</property>
<property name="tooltip-text" translatable="yes">Turn OFF data transmission of PMU/PDC device from <property name="tooltip_text" translatable="yes">Turn OFF data transmission of PMU/PDC device from
which data frames are being received.</property> which data frames are being received.</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
@ -162,12 +169,12 @@ which data frames are being received.</property>
<child> <child>
<object class="GtkButton" id="cmd_data_on_button"> <object class="GtkButton" id="cmd_data_on_button">
<property name="label" translatable="yes">Turn ON Data Transmission</property> <property name="label" translatable="yes">Turn ON Data Transmission</property>
<property name="width-request">240</property> <property name="width_request">284</property>
<property name="height-request">35</property> <property name="height_request">35</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can_focus">True</property>
<property name="receives-default">True</property> <property name="receives_default">True</property>
<property name="tooltip-text" translatable="yes">Turn ON data transmission of PMU/PDC device whose <property name="tooltip_text" translatable="yes">Turn ON data transmission of PMU/PDC device whose
data transmission is put OFF.</property> data transmission is put OFF.</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
@ -179,12 +186,12 @@ data transmission is put OFF.</property>
<child> <child>
<object class="GtkButton" id="cmd_cfg_button"> <object class="GtkButton" id="cmd_cfg_button">
<property name="label" translatable="yes">Request Configuration Frame</property> <property name="label" translatable="yes">Request Configuration Frame</property>
<property name="width-request">240</property> <property name="width_request">284</property>
<property name="height-request">35</property> <property name="height_request">35</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can_focus">True</property>
<property name="receives-default">True</property> <property name="receives_default">True</property>
<property name="tooltip-text" translatable="yes">Send Command frame to PMU/PDC device <property name="tooltip_text" translatable="yes">Send Command frame to PMU/PDC device
to get configuration frame.</property> to get configuration frame.</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
@ -196,12 +203,12 @@ to get configuration frame.</property>
<child> <child>
<object class="GtkButton" id="add_pdc_button"> <object class="GtkButton" id="add_pdc_button">
<property name="label" translatable="yes">Add a Destination Device</property> <property name="label" translatable="yes">Add a Destination Device</property>
<property name="width-request">240</property> <property name="width_request">284</property>
<property name="height-request">35</property> <property name="height_request">35</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can_focus">True</property>
<property name="receives-default">True</property> <property name="receives_default">True</property>
<property name="tooltip-text" translatable="yes">PDC device to whom iPDC sends <property name="tooltip_text" translatable="yes">PDC device to whom iPDC sends
configuration and data frames.</property> configuration and data frames.</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
@ -213,12 +220,12 @@ configuration and data frames.</property>
<child> <child>
<object class="GtkButton" id="remove_pdc_button"> <object class="GtkButton" id="remove_pdc_button">
<property name="label" translatable="yes">Remove a Destination Device</property> <property name="label" translatable="yes">Remove a Destination Device</property>
<property name="width-request">240</property> <property name="width_request">284</property>
<property name="height-request">35</property> <property name="height_request">35</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can_focus">True</property>
<property name="receives-default">True</property> <property name="receives_default">True</property>
<property name="tooltip-text" translatable="yes">Remove PDC device to whom iPDC <property name="tooltip_text" translatable="yes">Remove PDC device to whom iPDC
sends data frames.</property> sends data frames.</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
@ -230,12 +237,12 @@ sends data frames.</property>
<child> <child>
<object class="GtkButton" id="display_conn_table_button"> <object class="GtkButton" id="display_conn_table_button">
<property name="label" translatable="yes">iPDC Connection Table</property> <property name="label" translatable="yes">iPDC Connection Table</property>
<property name="width-request">240</property> <property name="width_request">284</property>
<property name="height-request">35</property> <property name="height_request">35</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can_focus">True</property>
<property name="receives-default">True</property> <property name="receives_default">True</property>
<property name="tooltip-text" translatable="yes">Display source and destination devices connection tables.</property> <property name="tooltip_text" translatable="yes">Display source and destination devices connection tables.</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
<packing> <packing>
@ -246,94 +253,94 @@ sends data frames.</property>
<child> <child>
<object class="GtkButton" id="exit_button"> <object class="GtkButton" id="exit_button">
<property name="label" translatable="yes">EXIT</property> <property name="label" translatable="yes">EXIT</property>
<property name="width-request">100</property> <property name="width_request">0</property>
<property name="height-request">35</property> <property name="height_request">0</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can_focus">True</property>
<property name="receives-default">True</property> <property name="receives_default">True</property>
<property name="tooltip-text" translatable="yes">Click to exit the iPDC Software.</property> <property name="tooltip_text" translatable="yes">Click to exit the iPDC Software.</property>
</object> </object>
<packing> <packing>
<property name="x">603</property> <property name="x">700</property>
<property name="y">555</property> <property name="y">555</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkMenuBar" id="menubar"> <object class="GtkMenuBar" id="menubar">
<property name="width-request">710</property> <property name="width_request">710</property>
<property name="height-request">40</property> <property name="height_request">40</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="can-default">True</property> <property name="can_default">True</property>
<property name="has-tooltip">True</property> <property name="has_tooltip">True</property>
<property name="resize-mode">immediate</property> <property name="resize_mode">immediate</property>
<child> <child>
<object class="GtkMenuItem" id="menuitem1"> <object class="GtkMenuItem" id="menuitem1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="label" translatable="yes">_File</property> <property name="label" translatable="yes">_File</property>
<property name="use-underline">True</property> <property name="use_underline">True</property>
<child type="submenu"> <child type="submenu">
<object class="GtkMenu" id="menu1"> <object class="GtkMenu" id="menu1">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<child> <child>
<object class="GtkImageMenuItem" id="enter_pdc_detail_menuitem"> <object class="GtkImageMenuItem" id="enter_pdc_detail_menuitem">
<property name="label">New iPDC Setup</property> <property name="label">New iPDC Setup</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip-text" translatable="yes">Click to create a new iPDC setup file.</property> <property name="tooltip_text" translatable="yes">Click to create a new iPDC setup file.</property>
<property name="image">image6</property> <property name="image">image6</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="open_ipdc_setup"> <object class="GtkImageMenuItem" id="open_ipdc_setup">
<property name="label">Open iPDC Setup</property> <property name="label">Open iPDC Setup</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip-text" translatable="yes">Click to open the saved iPDC setup file.</property> <property name="tooltip_text" translatable="yes">Click to open the saved iPDC setup file.</property>
<property name="image">image4</property> <property name="image">image4</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="pdc_details_menuitem"> <object class="GtkImageMenuItem" id="pdc_details_menuitem">
<property name="label" translatable="yes">iPDC Properties</property> <property name="label" translatable="yes">iPDC Properties</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip-text" translatable="yes">Click to view the iPDC setup informations.</property> <property name="tooltip_text" translatable="yes">Click to view the iPDC setup informations.</property>
<property name="image">image5</property> <property name="image">image5</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="menu_conn_table"> <object class="GtkImageMenuItem" id="menu_conn_table">
<property name="label" translatable="yes">Connection Table</property> <property name="label" translatable="yes">Connection Table</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="tooltip-text" translatable="yes">Display source and destination devices connection tables.</property> <property name="tooltip_text" translatable="yes">Display source and destination devices connection tables.</property>
<property name="image">image12</property> <property name="image">image12</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="exit_menuitem"> <object class="GtkImageMenuItem" id="exit_menuitem">
<property name="label" translatable="yes">Quit</property> <property name="label" translatable="yes">Quit</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip-text" translatable="yes">Click to exit the iPDC Software.</property> <property name="tooltip_text" translatable="yes">Click to exit the iPDC Software.</property>
<property name="image">image3</property> <property name="image">image3</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
</object> </object>
@ -343,99 +350,99 @@ sends data frames.</property>
<child> <child>
<object class="GtkMenuItem" id="menuitem2"> <object class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="label" translatable="yes">Edit</property> <property name="label" translatable="yes">Edit</property>
<property name="use-underline">True</property> <property name="use_underline">True</property>
<child type="submenu"> <child type="submenu">
<object class="GtkMenu" id="menu2"> <object class="GtkMenu" id="menu2">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<child> <child>
<object class="GtkImageMenuItem" id="menu_add_source"> <object class="GtkImageMenuItem" id="menu_add_source">
<property name="label">Add Source</property> <property name="label">Add Source</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip-text" translatable="yes">PMU/PDC device from which configuration <property name="tooltip_text" translatable="yes">PMU/PDC device from which configuration
and data frames would be received.</property> and data frames would be received.</property>
<property name="image">image7</property> <property name="image">image7</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="menu_remove_source"> <object class="GtkImageMenuItem" id="menu_remove_source">
<property name="label">Remove Source</property> <property name="label">Remove Source</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip-text" translatable="yes">Remove PMU/PDC device from which <property name="tooltip_text" translatable="yes">Remove PMU/PDC device from which
data frames are being received.</property> data frames are being received.</property>
<property name="image">image8</property> <property name="image">image8</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="menu_data_off"> <object class="GtkImageMenuItem" id="menu_data_off">
<property name="label" translatable="yes">Data OFF</property> <property name="label" translatable="yes">Data OFF</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip-text" translatable="yes">Turn OFF data transmission of PMU/PDC device from <property name="tooltip_text" translatable="yes">Turn OFF data transmission of PMU/PDC device from
which data frames are being received.</property> which data frames are being received.</property>
<property name="image">image9</property> <property name="image">image9</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="menu_data_on"> <object class="GtkImageMenuItem" id="menu_data_on">
<property name="label" translatable="yes">Data ON</property> <property name="label" translatable="yes">Data ON</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip-text" translatable="yes">Turn ON data transmission of PMU/PDC device whose <property name="tooltip_text" translatable="yes">Turn ON data transmission of PMU/PDC device whose
data transmission is put OFF.</property> data transmission is put OFF.</property>
<property name="image">image10</property> <property name="image">image10</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="menu_request_cfg"> <object class="GtkImageMenuItem" id="menu_request_cfg">
<property name="label" translatable="yes">Request CFG</property> <property name="label" translatable="yes">Request CFG</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="tooltip-text" translatable="yes">Send Command frame to PMU/PDC device <property name="tooltip_text" translatable="yes">Send Command frame to PMU/PDC device
to get configuration frame.</property> to get configuration frame.</property>
<property name="image">image11</property> <property name="image">image11</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="menu_add_destination"> <object class="GtkImageMenuItem" id="menu_add_destination">
<property name="label" translatable="yes">Add Destination</property> <property name="label" translatable="yes">Add Destination</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="tooltip-text" translatable="yes">PDC device to whom iPDC sends <property name="tooltip_text" translatable="yes">PDC device to whom iPDC sends
configuration and data frames.</property> configuration and data frames.</property>
<property name="image">image14</property> <property name="image">image14</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkImageMenuItem" id="menu_remove_destination"> <object class="GtkImageMenuItem" id="menu_remove_destination">
<property name="label" translatable="yes">Remove Destination</property> <property name="label" translatable="yes">Remove Destination</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="tooltip-text" translatable="yes">Remove PDC device to whom iPDC <property name="tooltip_text" translatable="yes">Remove PDC device to whom iPDC
sends data frames.</property> sends data frames.</property>
<property name="image">image13</property> <property name="image">image13</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
</object> </object>
@ -445,27 +452,27 @@ sends data frames.</property>
<child> <child>
<object class="GtkMenuItem" id="menuitem3"> <object class="GtkMenuItem" id="menuitem3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="tooltip-text" translatable="yes">service tools</property> <property name="tooltip_text" translatable="yes">service tools</property>
<property name="label" translatable="yes">Tools</property> <property name="label" translatable="yes">Tools</property>
<child type="submenu"> <child type="submenu">
<object class="GtkMenu"> <object class="GtkMenu">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<child> <child>
<object class="GtkMenuItem" id="attack_detection"> <object class="GtkMenuItem" id="attack_detection">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="label" translatable="yes">Attack Detection</property> <property name="label" translatable="yes">Attack Detection</property>
<property name="use-underline">True</property> <property name="use_underline">True</property>
</object> </object>
</child> </child>
<child> <child>
<object class="GtkMenuItem" id="data_vis"> <object class="GtkMenuItem" id="data_vis">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="label" translatable="yes">Data Visualization</property> <property name="label" translatable="yes">Data Visualization</property>
<property name="use-underline">True</property> <property name="use_underline">True</property>
</object> </object>
</child> </child>
</object> </object>
@ -475,23 +482,23 @@ sends data frames.</property>
<child> <child>
<object class="GtkMenuItem" id="menuitem4"> <object class="GtkMenuItem" id="menuitem4">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="label" translatable="yes">_Help</property> <property name="label" translatable="yes">_Help</property>
<property name="use-underline">True</property> <property name="use_underline">True</property>
<child type="submenu"> <child type="submenu">
<object class="GtkMenu" id="menu3"> <object class="GtkMenu" id="menu3">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<child> <child>
<object class="GtkImageMenuItem" id="about_menuitem"> <object class="GtkImageMenuItem" id="about_menuitem">
<property name="label">About</property> <property name="label">About</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip-text" translatable="yes">Click to see the publisher, licensing, and version details.</property> <property name="tooltip_text" translatable="yes">Click to see the publisher, licensing, and version details.</property>
<property name="image">image15</property> <property name="image">image15</property>
<property name="use-stock">False</property> <property name="use_stock">False</property>
<property name="always-show-image">True</property> <property name="always_show_image">True</property>
</object> </object>
</child> </child>
</object> </object>
@ -503,102 +510,105 @@ sends data frames.</property>
<child> <child>
<object class="GtkLinkButton" id="linkbutton1"> <object class="GtkLinkButton" id="linkbutton1">
<property name="label" translatable="yes">Go online</property> <property name="label" translatable="yes">Go online</property>
<property name="width-request">100</property> <property name="width_request">100</property>
<property name="height-request">35</property> <property name="height_request">35</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">True</property> <property name="can_focus">True</property>
<property name="receives-default">True</property> <property name="receives_default">True</property>
<property name="has-tooltip">True</property> <property name="has_tooltip">True</property>
<property name="tooltip-text" translatable="yes">For more information visit the iPDC official web <property name="tooltip_text" translatable="yes">For more information visit the iPDC official web
'ipdc.codeplex.com/'.</property> 'ipdc.codeplex.com/'.</property>
<property name="image">image1</property> <property name="image">image1</property>
<property name="relief">none</property> <property name="relief">none</property>
<property name="uri">http://ipdc.codeplex.com/</property> <property name="uri">http://ipdc.codeplex.com/</property>
</object> </object>
<packing> <packing>
<property name="x">20</property> <property name="x">500</property>
<property name="y">555</property> <property name="y">555</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkLabel" id="admin_label"> <object class="GtkLabel" id="admin_label">
<property name="width-request">235</property> <property name="width_request">284</property>
<property name="height-request">40</property> <property name="height_request">40</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
</object> </object>
<packing> <packing>
<property name="x">20</property> <property name="x">20</property>
<property name="y">143</property> <property name="y">137</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkLabel" id="rights_label"> <object class="GtkLabel" id="rights_label">
<property name="width-request">180</property> <property name="width_request">180</property>
<property name="height-request">28</property> <property name="height_request">28</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="selectable">True</property> <property name="selectable">True</property>
</object> </object>
<packing> <packing>
<property name="x">260</property> <property name="x">335</property>
<property name="y">560</property> <property name="y">560</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkTextView" id="text_view"> <object class="GtkTextView" id="text_view">
<property name="width-request">421</property> <property name="width_request">475</property>
<property name="height-request">350</property> <property name="height_request">375</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="tooltip-text" translatable="yes">iPDC - A Free Phasor Data Concentrator. <property name="tooltip_text" translatable="yes">iPDC - A Free Phasor Data Concentrator.
Supportive IEEE C37.118 Synchrophasor std.</property> Supportive IEEE C37.118 Synchrophasor std.</property>
<property name="editable">False</property> <property name="editable">False</property>
<property name="justification">fill</property> <property name="justification">fill</property>
</object> </object>
<packing> <packing>
<property name="x">285</property> <property name="x">320</property>
<property name="y">181</property> <property name="y">165</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkTextView" id="text_view1"> <object class="GtkTextView" id="text_view1">
<property name="width-request">720</property> <property name="width_request">800</property>
<property name="height-request">70</property> <property name="height_request">70</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="editable">False</property> <property name="editable">False</property>
<property name="justification">fill</property> <property name="justification">fill</property>
<property name="cursor-visible">False</property> <property name="cursor_visible">False</property>
</object> </object>
<packing> <packing>
<property name="y">36</property> <property name="y">40</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkHSeparator" id="hseparator1"> <object class="GtkButton" id="utiliy_tools">
<property name="width-request">800</property> <property name="label" translatable="yes">Utility tools</property>
<property name="height-request">20</property> <property name="width_request">284</property>
<property name="height_request">35</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="xalign">0</property>
</object> </object>
<packing> <packing>
<property name="x">-20</property> <property name="x">20</property>
<property name="y">536</property> <property name="y">541</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkLabel" id="time_lable"> <object class="GtkLabel" id="time_lable">
<property name="width-request">162</property> <property name="width_request">162</property>
<property name="height-request">20</property> <property name="height_request">20</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="sensitive">False</property> <property name="sensitive">False</property>
<property name="can-focus">False</property> <property name="can_focus">False</property>
<property name="tooltip-text" translatable="yes">Local Time of System</property> <property name="tooltip_text" translatable="yes">Local Time of System</property>
<property name="justify">right</property> <property name="justify">right</property>
<property name="track-visited-links">False</property> <property name="track_visited_links">False</property>
<property name="xalign">0</property> <property name="xalign">0</property>
<property name="yalign">0</property> <property name="yalign">0</property>
<attributes> <attributes>
@ -610,7 +620,18 @@ Supportive IEEE C37.118 Synchrophasor std.</property>
</object> </object>
<packing> <packing>
<property name="x">545</property> <property name="x">545</property>
<property name="y">107</property> <property name="y">115</property>
</packing>
</child>
<child>
<object class="GtkHSeparator" id="hseparator1">
<property name="width_request">800</property>
<property name="height_request">1</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="y">536</property>
</packing> </packing>
</child> </child>
</object> </object>

640
iPDC/iPDC.ui~ Normal file
View File

@ -0,0 +1,640 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.22.2 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<object class="GtkAccelGroup" id="accelgroup1"/>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-properties</property>
</object>
<object class="GtkImage" id="image10">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-go-up</property>
<property name="pixel_size">10</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image11">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-go-down</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image12">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-select-color</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image13">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-close</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image14">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-add</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image15">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-about</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-missing-image</property>
</object>
<object class="GtkImage" id="image3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-quit</property>
<property name="pixel_size">10</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-open</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-properties</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-new</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-sort-ascending</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image8">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-remove</property>
<property name="icon_size">1</property>
</object>
<object class="GtkImage" id="image9">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-media-stop</property>
<property name="icon_size">1</property>
</object>
<object class="GtkWindow" id="ipdc">
<property name="width_request">800</property>
<property name="height_request">600</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">iPDC - A Free Phasor Data Concentrator.
Supportive IEEE C37.118 Synchrophasor std.</property>
<property name="title" translatable="yes">iPDC - v1.3</property>
<property name="window_position">center-on-parent</property>
<property name="default_width">710</property>
<property name="default_height">590</property>
<property name="icon_name">gnome-obex-server</property>
<property name="focus_on_map">False</property>
<property name="gravity">center</property>
<child type="titlebar">
<placeholder/>
</child>
<child>
<object class="GtkLayout" id="layout1">
<property name="width_request">800</property>
<property name="height_request">600</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkButton" id="add_pmu_button">
<property name="label" translatable="yes">Add a Source Device</property>
<property name="width_request">284</property>
<property name="height_request">35</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">PMU/PDC device from which configuration
and data frames would be received.</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="x">20</property>
<property name="y">180</property>
</packing>
</child>
<child>
<object class="GtkButton" id="remove_pmu_button">
<property name="label" translatable="yes">Remove a Source Device</property>
<property name="width_request">284</property>
<property name="height_request">35</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Remove PMU/PDC device from which
data frames are being received.</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="x">20</property>
<property name="y">225</property>
</packing>
</child>
<child>
<object class="GtkButton" id="cmd_data_off_button">
<property name="label" translatable="yes">Turn OFF Data Transmission</property>
<property name="width_request">284</property>
<property name="height_request">35</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Turn OFF data transmission of PMU/PDC device from
which data frames are being received.</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="x">20</property>
<property name="y">270</property>
</packing>
</child>
<child>
<object class="GtkButton" id="cmd_data_on_button">
<property name="label" translatable="yes">Turn ON Data Transmission</property>
<property name="width_request">284</property>
<property name="height_request">35</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Turn ON data transmission of PMU/PDC device whose
data transmission is put OFF.</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="x">20</property>
<property name="y">315</property>
</packing>
</child>
<child>
<object class="GtkButton" id="cmd_cfg_button">
<property name="label" translatable="yes">Request Configuration Frame</property>
<property name="width_request">284</property>
<property name="height_request">35</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Send Command frame to PMU/PDC device
to get configuration frame.</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="x">20</property>
<property name="y">360</property>
</packing>
</child>
<child>
<object class="GtkButton" id="add_pdc_button">
<property name="label" translatable="yes">Add a Destination Device</property>
<property name="width_request">284</property>
<property name="height_request">35</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">PDC device to whom iPDC sends
configuration and data frames.</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="x">20</property>
<property name="y">405</property>
</packing>
</child>
<child>
<object class="GtkButton" id="remove_pdc_button">
<property name="label" translatable="yes">Remove a Destination Device</property>
<property name="width_request">284</property>
<property name="height_request">35</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Remove PDC device to whom iPDC
sends data frames.</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="x">20</property>
<property name="y">449</property>
</packing>
</child>
<child>
<object class="GtkButton" id="display_conn_table_button">
<property name="label" translatable="yes">iPDC Connection Table</property>
<property name="width_request">284</property>
<property name="height_request">35</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Display source and destination devices connection tables.</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="x">20</property>
<property name="y">495</property>
</packing>
</child>
<child>
<object class="GtkButton" id="exit_button">
<property name="label" translatable="yes">EXIT</property>
<property name="width_request">0</property>
<property name="height_request">0</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="tooltip_text" translatable="yes">Click to exit the iPDC Software.</property>
</object>
<packing>
<property name="x">700</property>
<property name="y">555</property>
</packing>
</child>
<child>
<object class="GtkMenuBar" id="menubar">
<property name="width_request">710</property>
<property name="height_request">40</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can_default">True</property>
<property name="has_tooltip">True</property>
<property name="resize_mode">immediate</property>
<child>
<object class="GtkMenuItem" id="menuitem1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_File</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="enter_pdc_detail_menuitem">
<property name="label">New iPDC Setup</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip_text" translatable="yes">Click to create a new iPDC setup file.</property>
<property name="image">image6</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="open_ipdc_setup">
<property name="label">Open iPDC Setup</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip_text" translatable="yes">Click to open the saved iPDC setup file.</property>
<property name="image">image4</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="pdc_details_menuitem">
<property name="label" translatable="yes">iPDC Properties</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip_text" translatable="yes">Click to view the iPDC setup informations.</property>
<property name="image">image5</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_conn_table">
<property name="label" translatable="yes">Connection Table</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Display source and destination devices connection tables.</property>
<property name="image">image12</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="exit_menuitem">
<property name="label" translatable="yes">Quit</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip_text" translatable="yes">Click to exit the iPDC Software.</property>
<property name="image">image3</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Edit</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="menu_add_source">
<property name="label">Add Source</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip_text" translatable="yes">PMU/PDC device from which configuration
and data frames would be received.</property>
<property name="image">image7</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_remove_source">
<property name="label">Remove Source</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip_text" translatable="yes">Remove PMU/PDC device from which
data frames are being received.</property>
<property name="image">image8</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_data_off">
<property name="label" translatable="yes">Data OFF</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip_text" translatable="yes">Turn OFF data transmission of PMU/PDC device from
which data frames are being received.</property>
<property name="image">image9</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_data_on">
<property name="label" translatable="yes">Data ON</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip_text" translatable="yes">Turn ON data transmission of PMU/PDC device whose
data transmission is put OFF.</property>
<property name="image">image10</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_request_cfg">
<property name="label" translatable="yes">Request CFG</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Send Command frame to PMU/PDC device
to get configuration frame.</property>
<property name="image">image11</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_add_destination">
<property name="label" translatable="yes">Add Destination</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">PDC device to whom iPDC sends
configuration and data frames.</property>
<property name="image">image14</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
<child>
<object class="GtkImageMenuItem" id="menu_remove_destination">
<property name="label" translatable="yes">Remove Destination</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Remove PDC device to whom iPDC
sends data frames.</property>
<property name="image">image13</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">service tools</property>
<property name="label" translatable="yes">Tools</property>
<child type="submenu">
<object class="GtkMenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="attack_detection">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Attack Detection</property>
<property name="use_underline">True</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="data_vis">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Data Visualization</property>
<property name="use_underline">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkMenuItem" id="menuitem4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Help</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu" id="menu3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImageMenuItem" id="about_menuitem">
<property name="label">About</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_KEY_PRESS_MASK | GDK_ENTER_NOTIFY_MASK | GDK_STRUCTURE_MASK</property>
<property name="tooltip_text" translatable="yes">Click to see the publisher, licensing, and version details.</property>
<property name="image">image15</property>
<property name="use_stock">False</property>
<property name="always_show_image">True</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkLinkButton" id="linkbutton1">
<property name="label" translatable="yes">Go online</property>
<property name="width_request">100</property>
<property name="height_request">35</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="has_tooltip">True</property>
<property name="tooltip_text" translatable="yes">For more information visit the iPDC official web
'ipdc.codeplex.com/'.</property>
<property name="image">image1</property>
<property name="relief">none</property>
<property name="uri">http://ipdc.codeplex.com/</property>
</object>
<packing>
<property name="x">500</property>
<property name="y">555</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="admin_label">
<property name="width_request">284</property>
<property name="height_request">40</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="x">20</property>
<property name="y">137</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="rights_label">
<property name="width_request">180</property>
<property name="height_request">28</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="selectable">True</property>
</object>
<packing>
<property name="x">335</property>
<property name="y">560</property>
</packing>
</child>
<child>
<object class="GtkTextView" id="text_view">
<property name="width_request">475</property>
<property name="height_request">375</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">iPDC - A Free Phasor Data Concentrator.
Supportive IEEE C37.118 Synchrophasor std.</property>
<property name="editable">False</property>
<property name="justification">fill</property>
</object>
<packing>
<property name="x">320</property>
<property name="y">165</property>
</packing>
</child>
<child>
<object class="GtkTextView" id="text_view1">
<property name="width_request">800</property>
<property name="height_request">70</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="editable">False</property>
<property name="justification">fill</property>
<property name="cursor_visible">False</property>
</object>
<packing>
<property name="y">40</property>
</packing>
</child>
<child>
<object class="GtkButton" id="utiliy_tools">
<property name="label" translatable="yes">Utility tools</property>
<property name="width_request">284</property>
<property name="height_request">35</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="x">20</property>
<property name="y">541</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="time_lable">
<property name="width_request">162</property>
<property name="height_request">20</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Local Time of System</property>
<property name="justify">right</property>
<property name="track_visited_links">False</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<attributes>
<attribute name="style" value="normal"/>
<attribute name="weight" value="heavy"/>
<attribute name="gravity" value="west"/>
<attribute name="foreground" value="#712204430000"/>
</attributes>
</object>
<packing>
<property name="x">545</property>
<property name="y">115</property>
</packing>
</child>
<child>
<object class="GtkHSeparator" id="hseparator1">
<property name="width_request">800</property>
<property name="height_request">1</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="y">536</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

View File

@ -47,6 +47,7 @@
#include "ipdcGui.h" #include "ipdcGui.h"
#include "attack_detection.h" #include "attack_detection.h"
#include "data_vis.h" #include "data_vis.h"
#include "utility_tools.h"
/* Common fixed path for storage of few common files */ /* Common fixed path for storage of few common files */
#define UI_fILE "./iPDC.ui" #define UI_fILE "./iPDC.ui"
@ -123,6 +124,7 @@ int main(int argc, char **argv)
GW(menuitem3); GW(menuitem3);
GW(attack_detection); GW(attack_detection);
GW(data_vis); GW(data_vis);
GW(utility_tools);
#undef GW #undef GW
/* Connect signals */ /* Connect signals */
@ -147,6 +149,7 @@ int main(int argc, char **argv)
gtk_widget_set_sensitive(GTK_WIDGET(data->add_pdc_button), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(data->add_pdc_button), FALSE);
gtk_widget_set_sensitive(GTK_WIDGET(data->remove_pdc_button), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(data->remove_pdc_button), FALSE);
gtk_widget_set_sensitive(GTK_WIDGET(data->display_conn_table_button), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(data->display_conn_table_button), FALSE);
//gtk_widget_set_sensitive(GTK_WIDGET(data->utility_tools), FALSE);
// gtk_widget_set_visible(GTK_WIDGET(data->menuitem2), TRUE); // gtk_widget_set_visible(GTK_WIDGET(data->menuitem2), TRUE);
gtk_widget_set_visible(GTK_WIDGET(data->menu_conn_table), FALSE); gtk_widget_set_visible(GTK_WIDGET(data->menu_conn_table), FALSE);
@ -258,6 +261,7 @@ int main(int argc, char **argv)
/* Signals Definitions*/ /* Signals Definitions*/
g_signal_connect (data->add_pmu_button, "clicked", G_CALLBACK(add_pmu), NULL); g_signal_connect (data->add_pmu_button, "clicked", G_CALLBACK(add_pmu), NULL);
g_signal_connect (data->menu_add_source, "activate", G_CALLBACK(add_pmu), NULL); g_signal_connect (data->menu_add_source, "activate", G_CALLBACK(add_pmu), NULL);
g_signal_connect(data->utility_tools, "activate", G_CALLBACK(utility_tools), NULL);
g_signal_connect (data->remove_pmu_button, "clicked", G_CALLBACK(cmd_or_remove_pmu), (gpointer) "1"); g_signal_connect (data->remove_pmu_button, "clicked", G_CALLBACK(cmd_or_remove_pmu), (gpointer) "1");
g_signal_connect (data->menu_remove_source, "activate", G_CALLBACK(cmd_or_remove_pmu), (gpointer) "1"); g_signal_connect (data->menu_remove_source, "activate", G_CALLBACK(cmd_or_remove_pmu), (gpointer) "1");
@ -291,6 +295,7 @@ int main(int argc, char **argv)
g_signal_connect(data->attack_detection,"activate",G_CALLBACK(attack_detection_window),NULL); g_signal_connect(data->attack_detection,"activate",G_CALLBACK(attack_detection_window),NULL);
g_signal_connect(data->data_vis, "activate", G_CALLBACK(data_vis_window), NULL); g_signal_connect(data->data_vis, "activate", G_CALLBACK(data_vis_window), NULL);
/* Destroy builder, since we don't need it anymore */ /* Destroy builder, since we don't need it anymore */
g_object_unref(G_OBJECT(builder)); g_object_unref(G_OBJECT(builder));

View File

@ -60,6 +60,7 @@ struct _ChData
GtkWidget *add_pdc_button; GtkWidget *add_pdc_button;
GtkWidget *remove_pdc_button; GtkWidget *remove_pdc_button;
GtkWidget *display_conn_table_button; GtkWidget *display_conn_table_button;
GtkWidget *utility_tools;
GtkWidget *exit_button; GtkWidget *exit_button;
/* Manubar button widgets */ /* Manubar button widgets */

18
iPDC/utility_tools.c Normal file
View File

@ -0,0 +1,18 @@
#include<gtk/gtk.h>
#include<stdio.h>
void utility_tools()
{
GtkWidget *new_window;
new_window = gtk_dialog_new();
//gtk_window_fullscreen(GTK_WINDOW(new_window));
// gtk_window_set_default_size(GTK_WINDOW(new_window), 800, 600);
// gtk_window_set_resizable(GTK_WINDOW(new_window), FALSE);
// gtk_window_set_position(GTK_WINDOW(new_window), GTK_WIN_POS_CENTER);
// /* Set the Title of Main Window */
// gtk_window_set_title (GTK_WINDOW (new_window), "iPDC utility tools");
// g_signal_connect (new_window, "destroy", G_CALLBACK(gtk_widget_destroy), new_window);
gtk_widget_show(new_window);
}

2
iPDC/utility_tools.h Normal file
View File

@ -0,0 +1,2 @@
#include<gtk/gtk.h>
void utility_tools();