Commit graph

424 commits

Author SHA1 Message Date
Blake Harnden
68934da204 pygui: fixed link options check when options is not present 2020-10-13 09:12:10 -07:00
Blake Harnden
961f630acb pygui: added option to hide/show links with 100% loss, added checks to flag links for this case 2020-10-13 06:45:37 -07:00
Blake Harnden
a1b4279d80 pygui: dont add created edges to node until after a link has been created 2020-10-12 23:42:58 -07:00
Blake Harnden
053cd1da65 pygui: removed edges tracking interfaces, since the link associated with them already does 2020-10-12 22:51:15 -07:00
Blake Harnden
055029e5c5 pygui: added check so bridge based nodes can only have 1 link between them 2020-10-12 20:41:55 -07:00
Blake Harnden
29bd6ef7f8 pygui: initial changes to allow multiple wired links between nodes, updated to commonize logic for creating edges and adjustments in the UI for several edge related cases 2020-10-12 20:28:27 -07:00
Blake Harnden
8597c5c1a8 pygui: updated edge labels to just use a set distance from nodes 2020-10-11 10:05:57 -07:00
Blake Harnden
0c847cfb37 pygui: fixed wlan/emane linked nodes drawing link options for invisible links when joining session or clearing throughput 2020-10-10 06:15:59 -07:00
Blake Harnden
93a5d1fb01 docs: cleanup of some of the emane demos, added antennaprofile demo example 2020-10-04 22:42:09 -07:00
Blake Harnden
5a07929fde added emane examples for various emane topics when used within core 2020-10-04 18:31:34 -07:00
Blake Harnden
570ad9522c initial code for a wrapped grpc client, fix for pygui node emane config, fix for xml reading emane configs specific to nodes/interfaces, fix for adding emane nodes and setting the emane model properly 2020-09-01 16:19:01 -07:00
Blake Harnden
b0bac1d319 daemon: moved grpc wrapper classes to core.grpc.wrappers 2020-08-27 11:02:02 -07:00
Blake Harnden
b89a19a18e grpc: update node events to include icon, pygui: updated handling node events to update icon when there is a change 2020-08-05 12:10:27 -07:00
Blake Harnden
5976bca34b pygui: added view toggle for normal links 2020-08-04 16:32:39 -07:00
Blake Harnden
cd0351c818 pygui: added view option to toggle wireless edges 2020-08-04 16:20:51 -07:00
Blake Harnden
e2b3a2dc6d pygui: fixed issues with configuring services on nodes due to refactoring changes 2020-08-04 12:29:08 -07:00
Blake Harnden
082677c17b pygui: fixed issue saving selected background to xml when not located within the ~/.coregui/backgrounds directory 2020-08-03 16:37:31 -07:00
Blake Harnden
4bcaa32fdb pygui: fixed issue in task handling a returned boolean value, should be doing a none check 2020-08-03 16:29:35 -07:00
Blake Harnden
b7e3d1c877 pygui: fixed emane config dialog and emane model config dialogs to expand tabs the full height of the dialog 2020-08-02 10:47:01 -07:00
Blake Harnden
f0bc3bbc99 pygui: updates to leverage tk provided constants for sticky configuration, instead of duplicate strings everywhere 2020-08-02 10:36:14 -07:00
Blake Harnden
2aeb119b04 pygui: changes to display both link and asym link options on edges in canvas 2020-08-02 10:03:21 -07:00
Blake Harnden
06563d5953 pygui: fixed issue editing hook with a new name 2020-08-01 11:07:11 -07:00
Blake Harnden
fc44ad6fe8 pygui: update title to show xml file when one is opened, fixed issue creating nodes/links when not runtime due to refactoring, removed xml_file from coreclient and depend on the grpc GetSession wrapped data, grpc: added opened file information to GetSession call 2020-08-01 11:00:26 -07:00
Blake Harnden
04f7bc561b pygui: fixed exception from bad check when double clicking in sessions dialog 2020-07-31 23:23:18 -07:00
Blake Harnden
e7a93e7fd6 pygui: config dialogs that allow selecting a file default to ~/.coregui 2020-07-31 23:18:11 -07:00
Blake Harnden
eb422f5bab pygui: mac editing disabled for nodes during runtime 2020-07-31 23:13:07 -07:00
Blake Harnden
63103ab250 pygui: removed unused unlimited button from linkconfig dialog 2020-07-31 23:09:26 -07:00
Blake Harnden
d30778b238 daemon: fixed mobility checks to allow both wlan/emane, pygui: enabled emane nodes to configure mobility 2020-07-29 16:55:42 -07:00
Blake Harnden
fe36d28522 pygui: fixed issue with changes to protobuf files for getting emane model configs on a session 2020-07-28 22:45:42 -07:00
Blake Harnden
858e771efd pygui: fixes for copying links/asymmetric links, fixes for configuring asymmetric links, fixed issues adding nodes/links and editing links from gui due to not being able to identify same source changes 2020-07-28 21:49:34 -07:00
Blake Harnden
27495cbda1 pygui: changes around using session.nodes instead of canvas_nodes when possible 2020-07-28 10:24:01 -07:00
Blake Harnden
588afaad13 pygui: changes to make use of wrapped session object and wrapped nodes to maintain and retrieving configurations information 2020-07-28 00:03:15 -07:00
Blake Harnden
3bdd6292cd grpc: update GetSession to return all session related information, rather than needing 8 different calls, pygui: updated session protobuf wrapper to handle all new data 2020-07-27 18:19:51 -07:00
Blake Harnden
41a3c5fd7f pygui: added wrapper class for sessions returned by grpc GetSession 2020-07-26 11:45:40 -07:00
Blake Harnden
82a212d1cf pygui: modified usages of protobufs within coreclient to use module namespace to make more obvious, replaced config services and services with wrappers 2020-07-25 20:27:11 -07:00
Blake Harnden
a9a2fb8e46 pygui: added wrapper for throughput events, fixed sending nodes/links for configuration 2020-07-25 19:43:24 -07:00
Blake Harnden
77f6577bce pygui: added wrappers for most usages of protobufs within pygui 2020-07-25 10:30:14 -07:00
Blake Harnden
154fa8b77d pygui: replaced hook with wrapped hook class, fixed hook dialog edit 2020-07-24 22:00:38 -07:00
Blake Harnden
fff4bd7963 moved cpu usage to a grpc call that the gui will listen to, fixed grpc stream typing to be grpc.Future, fixed pygui issue for start callback when a start fails, but there are no exceptions 2020-07-23 09:41:39 -07:00
Blake Harnden
3544d00431 pygui: implemented cpu usage monitor to status bar 2020-07-22 21:57:05 -07:00
Blake Harnden
f8d862a296 grpc/pygui: added grpc alert api, updated pygui to better handle and display alerts 2020-07-22 19:19:22 -07:00
Blake Harnden
e34002b851 pygui: added option to launch core-pygui into a specific session using an id 2020-07-22 17:18:35 -07:00
Blake Harnden
6d4434bc12 grpc: added set session user call, updated mobility to look for files within new gui as well, fixed pygui issue when start session has a grpc exceptions, showing and empty error window 2020-07-16 22:51:26 -07:00
Blake Harnden
7398196dcc pygui: dont show mobility player when joining sessions not in runtime 2020-07-11 14:06:53 -07:00
Blake Harnden
7a21affbd4 pygui: update nodes to display assigned server name when not localhost 2020-07-08 08:46:30 -07:00
Blake Harnden
43b586a1a1 daemon: updated xml to write and read session configured distributed servers, updated pygui to send servers before session start or saving xml 2020-07-08 08:24:23 -07:00
Blake Harnden
f1ff1a6577 pygui: only attempt to run observer commands on container nodes 2020-07-07 14:24:43 -07:00
Blake Harnden
6648dc7825 pygui: service and config service dialogs will now properly show services for default group selected 2020-07-07 08:46:47 -07:00
Blake Harnden
0045c8d79c pygui: avoid trying to bring up a terminal for rj45 nodes 2020-07-06 21:37:04 -07:00
Blake Harnden
a870c15b43 pygui: fixed joining sessions with mobility players 2020-07-01 12:11:34 -07:00
Blake Harnden
ab17cb1053 grpc: grpc get_session will no longer return peer to peer nodes, they should be invisible to users, updated core-cli to print human readable links better 2020-06-30 09:50:28 -07:00
Blake Harnden
5eae67aac5 grpc/pygui: updated add_node source support, updated pygui to handle add_node events 2020-06-26 22:11:36 -07:00
Blake Harnden
e79645013b grpc/pygui: updated delete_node to use the source, updated pygui to support delete node events 2020-06-26 21:45:29 -07:00
Blake Harnden
f4a3fe6b7b grpc/pygui: edit_link will now broadcast link changes, pygui now handles receiving this data 2020-06-26 15:14:30 -07:00
Blake Harnden
aebbff8c22 grpc/pygui: shifted source field in node events to base event message to apply to all events, updated add_link/delete_link rpc calls to broadcast events, updated pygui to handle these events 2020-06-26 14:39:12 -07:00
Blake Harnden
eac941ce72 pygui: updates to show wireless edges in details panel, increased edge thickness to be the same as normal edges for selection to be easier 2020-06-26 09:13:38 -07:00
Blake Harnden
98e4baca04 pygui: added services to node info panel 2020-06-25 15:05:24 -07:00
Blake Harnden
f582306bb9 pygui: added support for a details pane, can be toggled on/off, can be used to quickly view details for nodes or links 2020-06-25 10:35:01 -07:00
Blake Harnden
bb2ceaf993 pygui: draw link options on edges 2020-06-23 22:53:48 -07:00
Blake Harnden
6490b5b9cb pygui: fixed and changed custom service copy to focus only on copying the current file displayed from any other nodes with a customized version 2020-06-23 16:11:39 -07:00
Blake Harnden
60d9fe2026 pygui: clear throughput labels when disabling throughput 2020-06-23 14:48:27 -07:00
Blake Harnden
14573184e0 pygui: fixed syning session location settings when not in runtime mode, for saving xml 2020-06-23 13:28:41 -07:00
Blake Harnden
8e2cfa61c9 pygui: size and scale meter width and height are no longer editable, but will dynamically update with changes to related size/scale values 2020-06-23 10:09:16 -07:00
Blake Harnden
f39ab1dee6 pygui: limit rj45 node to 1 link 2020-06-22 21:13:24 -07:00
Blake Harnden
27e35a5213 pygui: session options dialog is disabled during runtime 2020-06-22 19:40:42 -07:00
Blake Harnden
344f35e93e pygui: updated ConfigFrame to have a disabled display option, updated nodes to stil show emane config during runtime, updated emane dialog and config dialogs to be in a viewable but disabled state during runtime 2020-06-22 19:04:55 -07:00
Blake Harnden
527d34e374 pygui: added type hinting to class variables for core.gui.dialogs 2020-06-22 11:04:33 -07:00
Blake Harnden
11be40bc90 pygui: added class variable type hinting to core.gui.graph 2020-06-19 23:24:07 -07:00
Blake Harnden
0356f3b19c pygui: added type hinting to everything under base core.gui 2020-06-19 22:08:24 -07:00
Blake Harnden
a1734c3bc0 grpc: updated Interface proto fields to be more consistent with code, ip4mask to ip4_mask, ip6mask to ip6_mask, netid to net_id, flowid to flow_id 2020-06-16 22:05:36 -07:00
Blake Harnden
0725199d6d initial sweeping changes to call all usages of various interface related variables and functions (netif, interface, if, ifc, etc) to use a consistent name iface 2020-06-16 09:30:16 -07:00
Blake Harnden
83f66d33f7 merged latest from develop 2020-06-13 18:07:21 -07:00
Blake Harnden
876699e8ef variable/grpc cleanup to rename everything using spelt out numbers instead of actual numbers 2020-06-12 16:52:41 -07:00
Blake Harnden
76305f7257 converted usages of per to loss 2020-06-12 12:49:53 -07:00
Blake Harnden
9ed42cfba8 pygui: avoid issue when joining opened xml that has a node with no ip4 address 2020-06-10 11:04:33 -07:00
Blake Harnden
8bae0611a4 pygui: updated icon for observers tool on run menu, added observers to run menu and created custom observers widget 2020-05-19 00:35:48 -07:00
Blake Harnden
773f733cb8 pygui: changes to leverage common icon scaling function, fix issue with scaling toolbar 2020-05-18 23:25:42 -07:00
Blake Harnden
cde053da73 pygui: implemented toolbar based marker configuration, fixed some issues when switching between different node bar states 2020-05-17 23:08:53 -07:00
Blake Harnden
bd897efd05 pygui: allow shapes to be moved in annotation/select modes and nodes in node/select modes 2020-05-17 10:21:54 -07:00
Blake Harnden
d0520bf21d pygui: fixed resizing toolbar with custom node selected 2020-05-17 08:51:51 -07:00
Blake Harnden
34f86174a2 pygui: cleaned up color picker layout 2020-05-17 00:28:03 -07:00
Blake Harnden
8979c86187 pygui: fixed issue with moving text shapes 2020-05-17 00:11:28 -07:00
Blake Harnden
41df8a57b8 pygui: revert change to keep references for created interfaces properly 2020-05-16 23:59:36 -07:00
Blake Harnden
06e3d84862 pygui: fixed interface creation after deletion, fixed issue reusing deleted subnets 2020-05-16 23:35:19 -07:00
Blake Harnden
91220078f1 pygui: created a singular func for ordering items on canvas by tags, updates so that drawing edges are behind nodes 2020-05-16 14:12:08 -07:00
Blake Harnden
50816b3b80 pygui: cleaned up toolbar picker code, fixed closing app when a picker is showing 2020-05-16 01:14:48 -07:00
Blake Harnden
29fc5acb99 pygui: toolbar cleanup for buttonbar frames 2020-05-15 23:23:07 -07:00
Blake Harnden
4eaecd6a7b pygui: simplified a couple of the other widget constructors 2020-05-15 14:46:35 -07:00
Blake Harnden
0dcfcbf4ea pygui: simplified toolbar constructor, since there is no need for something more complicated 2020-05-15 11:43:54 -07:00
Blake Harnden
ee5d5b9864 pygui: removed duplicate get_icon functionality, added more type hints, added enable/disable of toolbar button when running start/stop 2020-05-15 11:41:18 -07:00
Blake Harnden
5e69ea48b3 pygui: fixed tracking for throughputs when joining a session 2020-05-14 23:07:21 -07:00
Blake Harnden
3b1a9bc3e3 pygui: changes to improve grpc event handling 2020-05-14 17:57:32 -07:00
Blake Harnden
df03f1e173 pygui: improvements to handling grpc events and updating gui 2020-05-14 16:24:22 -07:00
Blake Harnden
433fe4ae58 pygui: removed undesired logging in interface manager 2020-05-13 23:59:00 -07:00
Blake Harnden
fa163c3ed6 pygui: update file dialogs to hide hidden files by default and provide a hidden file toggle 2020-05-12 08:31:53 -07:00
Blake Harnden
22d813df63 pygui: updated validation to be wrapper classes around ttk.Entry for convenience and less code 2020-05-11 22:00:52 -07:00
Blake Harnden
150db07497 pygui: updated canvas size and scale dialog to allow negative values for lon,lat,alt 2020-05-11 16:02:23 -07:00
Blake Harnden
a36674aba9 pygui: adjustment to compensate for ip4/ip6 address not being present on joined links 2020-05-11 08:33:56 -07:00
Blake Harnden
0aba1aa928 pygui: updated gui home directory to ~/.coregui and changed config file name to config.yaml from gui.yaml to be more explicit 2020-05-08 09:08:01 -07:00
Blake Harnden
4379ef32e9 pygui: removed restriction on wlan nodes context linking to mdrs only, since custom nodes and other types may be configured and desired to be linked in the same way 2020-05-08 08:29:45 -07:00
Blake Harnden
32558d15d2 pygui: removed comment in appconfig 2020-05-08 00:46:02 -07:00
Blake Harnden
86ae87eafe pygui: revamped config to leverage classes mapped to yaml, removes need for using keys all over and type hinting on glasses, future changes should support defaults better 2020-05-08 00:16:25 -07:00
Blake Harnden
d9f48d14a7 pygui fixed button layout on session options dialog 2020-05-05 13:00:22 -07:00
Blake Harnden
41b46b7e7a pygui display error and link to emane docs when attempting to use emane node and it is not installed, fix dialog refactoring breaking mobility player, updated emane docs 2020-05-05 12:55:25 -07:00
Blake Harnden
1d620a0b17 pygui some cleanup for dialog constructors to avoid passing duplicate parameters in most cases 2020-05-04 22:50:59 -07:00
Blake Harnden
185c6736b3 pygui moved custom nodes dialog to menubar and small layout cleanup 2020-05-03 22:47:46 -07:00
Blake Harnden
828254dccd pygui switched netstat socket observer to use ss instead 2020-05-03 22:01:21 -07:00
Blake Harnden
0e08242128 pygui close mobility players when stopping session 2020-05-03 21:55:34 -07:00
Blake Harnden
4ec6ef25fe pygui updated progress tasks to be self contained and leverage a title value to display runtime with more context to user 2020-05-03 21:47:58 -07:00
Blake Harnden
1dd45f4424 pygui cleaned up error display by creating top level app methods for displaying exceptions and errors, logging exceptions, and making sure they work for background tasks 2020-05-03 12:42:56 -07:00
Blake Harnden
0999fabb14 pygui revamped progress bar functionality into app task calls to simplify and commonize the functionality, handle and display task exceptions 2020-05-03 10:41:36 -07:00
Blake Harnden
835675480b pygui removed unimplemented runtime node context options and moved find node to tools menu 2020-05-02 23:57:27 -07:00
Blake Harnden
b858e66c49 pygui updated main app frame to use grid layout like everything else 2020-05-02 23:51:42 -07:00
Blake Harnden
be70c5383e pygui removed manage members context from wireless node 2020-05-02 09:23:06 -07:00
Blake Harnden
ac2d60dad6 pygui improved node context to properly use tk_popup, avoiding bandage code to compensate for other issues 2020-05-02 09:20:36 -07:00
Blake Harnden
65466909d3 pygui improved edge context by properly using tk_popup 2020-05-02 08:41:10 -07:00
Blake Harnden
491f2a8e93 pygui enabled delete on link context menu, removed split/merge for now, set edge labels to bold to stand out until better solution 2020-05-01 23:47:37 -07:00
Blake Harnden
5a8984de10 pygui some delete node/link cleanup and added unlink option to node context menu for an easier unlinking 2020-05-01 23:36:33 -07:00
Blake Harnden
d158fc99c6 pygui small cleanup to layout of find dialog 2020-05-01 19:59:41 -07:00
Blake Harnden
9d1f5cfcc6 pygui most dialogs are modal, default dialogs to modal 2020-05-01 19:56:57 -07:00
Blake Harnden
0ee679d978 pygui changes to disable most widgets related to configuring a node during runtime 2020-05-01 18:05:54 -07:00
Blake Harnden
686026d9f2 improved netaddr mac dialect usage to leverage constructor parameter 2020-05-01 17:40:53 -07:00
Blake Harnden
4ae5936bdc pygui raise copied nodes above copied edges 2020-05-01 17:28:28 -07:00
Blake Harnden
2e9968c306 pygui further changes to mimic old gui behavior, parsing link data when joining and removing link data when they are removed 2020-05-01 15:35:53 -07:00
Blake Harnden
6ba065e8b6 Merge branch 'develop' into enhancement/pygui-address-creation 2020-05-01 14:23:18 -07:00
Blake Harnden
f7281459ed pygui changes to avoid deleting session and open xml race conditions, fix to reset canvas view options when creating a new session 2020-05-01 14:13:44 -07:00
Blake Harnden
9a42368221 initial changes to mimic prior address creation 2020-05-01 13:39:27 -07:00
Huy Pham
b116d525d9 Merge branch 'develop' into pygui-rmallservices-fix 2020-04-30 13:48:38 -07:00
Huy Pham
580641f5d9 remove CoreClient.modified_service_node. When a new CORE node is created, assign default services right away (instead of leaving it empty), therefore no more confusion whether [] means empty service or means CORE node with default services 2020-04-30 13:47:45 -07:00
Huy Pham
4037da49c2 Fix issue: node's services won't save when clearing all the services and add default services back to the node. Set core node's services to default services (instead of leaving it empty) when a new node is created. 2020-04-30 12:48:51 -07:00
Huy Pham
1f8d16df08 touch up 2020-04-29 17:17:57 -07:00
Huy Pham
64657b20a8 add more logic to scrolling the scrollbar to get a bit nicer view 2020-04-29 17:09:17 -07:00
Huy Pham
e9ca4a5b58 Session dialog: Bold heading text so that it stands out more, allign heading text with column text 2020-04-29 16:53:06 -07:00
Huy Pham
a3a9aee7f7 Merge branch 'develop' into findfeature 2020-04-29 16:36:53 -07:00
Huy Pham
c45202e61b add type checking to class methods 2020-04-29 16:36:12 -07:00
Huy Pham
275e8f4c30 finish writing a Find tool that allows find a node based on node name 2020-04-29 16:19:40 -07:00
Blake Harnden
b7adbd289c pygui copy links when generating mac to avoid retaining generated macs 2020-04-23 14:04:22 -07:00
Blake Harnden
8e8ffb3ffb pygui close mac config dialog on save 2020-04-23 14:00:23 -07:00
Blake Harnden
01b41b0276 pygui cleaned up node service configuration dialog directory tab layout 2020-04-23 09:06:56 -07:00
Blake Harnden
ea99b628fc pygui removed dumping commands multiple times in run window as they are included before node output 2020-04-23 08:54:43 -07:00
Blake Harnden
aa2537753e pygui small tweaks to run tool dialog to simplify text and properly resize 2020-04-23 00:11:13 -07:00
bharnden
a662fcc62c
Merge pull request #436 from coreemu/pygui-runtool
Pygui runtool
2020-04-22 23:28:47 -07:00
Blake Harnden
7054e606ae pygui implemented mac config and fixed issue with manually assigning mac addresses 2020-04-22 23:00:07 -07:00
Huy Pham
f6bd21629d Merge branch 'develop' into pygui-runtool 2020-04-22 15:41:11 -07:00
Huy Pham
03e291d215 implement run tool that allows running command on more than one node conveniently 2020-04-22 15:38:29 -07:00
Blake Harnden
6fe2845051 pygui added error dialog for duplicate observer names and cleared out values on success 2020-04-22 11:41:09 -07:00
Blake Harnden
039cf2a3b9 pygui updates to properly dynamically update the observer widgets menu as changes are made 2020-04-22 11:37:58 -07:00
Blake Harnden
ba6a6f06b1 pygui moved observers to menu class, added initial functioning ip address tool 2020-04-21 22:56:56 -07:00
Blake Harnden
20ecdf70d0 pygui fixed emane link updates when rejoining session 2020-04-21 13:22:21 -07:00
Blake Harnden
715bae6f74 pygui avoid sending configs for empty mobility and wlan configurations 2020-04-21 13:14:33 -07:00