{"id":15,"date":"2021-07-22T19:19:20","date_gmt":"2021-07-22T19:19:20","guid":{"rendered":"http:\/\/dbj-graphs.com\/?page_id=15"},"modified":"2022-12-15T08:07:46","modified_gmt":"2022-12-15T08:07:46","slug":"index","status":"publish","type":"page","link":"https:\/\/dbj-graphs.com\/","title":{"rendered":"index"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|tablet&#8221; admin_label=&#8221;NetGraph main section&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f9f8fc&#8221; background_image=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/fb_cover_fin1.jpg&#8221; background_position=&#8221;top_center&#8221; custom_margin=&#8221;||||false|false&#8221; custom_margin_tablet=&#8221;||1px||false|false&#8221; custom_margin_phone=&#8221;&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; custom_padding=&#8221;10%||||false|false&#8221; custom_padding_tablet=&#8221;10%||0px||false|false&#8221; custom_padding_phone=&#8221;&#8221; background_last_edited=&#8221;on|phone&#8221; background_image_tablet=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/beg1.jpg&#8221; background_enable_image_tablet=&#8221;on&#8221; parallax_phone=&#8221;off&#8221; parallax_method_phone=&#8221;on&#8221; background_size_phone=&#8221;cover&#8221; background_position_tablet=&#8221;center&#8221; background_position_phone=&#8221;center&#8221; background_blend_phone=&#8221;multiply&#8221; filter_blur_tablet=&#8221;&#8221; filter_blur_phone=&#8221;&#8221; filter_blur_last_edited=&#8221;on|desktop&#8221; custom_css_main_element=&#8221;height: 80vh;||&#8221; custom_css_main_element_last_edited=&#8221;on|phone&#8221; custom_css_main_element_tablet=&#8221;height:65vh;&#8221; custom_css_main_element_phone=&#8221;height: 65vh;&#8221;][et_pb_fullwidth_header title=&#8221;NetGraph&#8221; button_one_text=&#8221;Download&#8221; button_one_url=&#8221;\/#download&#8221; content_max_width=&#8221;50%&#8221; content_max_width_tablet=&#8221;100%&#8221; content_max_width_phone=&#8221;&#8221; content_max_width_last_edited=&#8221;on|tablet&#8221; admin_label=&#8221;First block text&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; title_font=&#8221;Lato||||||||&#8221; title_font_size=&#8221;92px&#8221; content_font=&#8221;Lato||||||||&#8221; content_text_color=&#8221;#000000&#8243; content_font_size=&#8221;20px&#8221; background_enable_color=&#8221;off&#8221; custom_button_one=&#8221;on&#8221; button_one_text_size=&#8221;22px&#8221; button_one_text_color=&#8221;#FFFFFF&#8221; button_one_bg_color=&#8221;#7098ca&#8221; button_one_border_width=&#8221;2px&#8221; button_one_border_color=&#8221;#7098ca&#8221; button_one_border_radius=&#8221;0px&#8221; button_one_font=&#8221;Lato||||||||&#8221; button_one_use_icon=&#8221;off&#8221; button_one_custom_margin=&#8221;||||false|false&#8221; button_one_custom_margin_tablet=&#8221;||||false|false&#8221; button_one_custom_margin_phone=&#8221;|||8px|false|false&#8221; button_one_custom_margin_last_edited=&#8221;on|phone&#8221; button_one_custom_padding=&#8221;|50px||50px|false|false&#8221; background_layout=&#8221;light&#8221; width=&#8221;100%&#8221; module_alignment=&#8221;left&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;||0px||false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; custom_padding=&#8221;40px|345px|53px||false|false&#8221; custom_padding_tablet=&#8221;|8px|||false|false&#8221; custom_padding_phone=&#8221;||0px||false|false&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; title_font_size_tablet=&#8221;&#8221; title_font_size_phone=&#8221;60px&#8221; title_font_size_last_edited=&#8221;on|phone&#8221;]<\/p>\n<p>A LibreOffice extension to manipulate graphs (as in graph theory), ordinary as well as directed graphs are supported.<br \/>You can take advantage of the drawing capabilities LO offers and then write macros that manipulate the graph. It might also work in OpenOffice.<\/p>\n<p>[\/et_pb_fullwidth_header][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;Features section&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; background_image=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/begrn-scaled.jpg&#8221; background_position=&#8221;top_center&#8221; custom_padding=&#8221;|||0px||&#8221;][et_pb_row column_structure=&#8221;1_2,1_2&#8243; use_custom_gutter=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; admin_label=&#8221;Features row&#8221; module_id=&#8221;features&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; width=&#8221;90%&#8221; max_width=&#8221;1900px&#8221; max_width_last_edited=&#8221;off|tablet&#8221; custom_margin=&#8221;||||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;-53px||||false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; custom_padding=&#8221;50px|50px|50px|60px||&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;30px|30px||30px|false|true&#8221; global_module=&#8221;176&#8243; saved_tabs=&#8221;all&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][dnxte_blurb blurb_heading=&#8221;Features&#8221; dnxt_image=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/idm1.png&#8221; image_placement=&#8221;right-center&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; dnxt_pre_header_text_align=&#8221;left&#8221; custom_padding=&#8221;6px||0px||false|false&#8221;][\/dnxte_blurb][et_pb_blurb content_max_width=&#8221;559px&#8221; admin_label=&#8221;Features block text&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; header_level=&#8221;h3&#8243; header_font=&#8221;Lato||||||||&#8221; header_font_size=&#8221;48px&#8221; header_line_height=&#8221;3em&#8221; body_font=&#8221;Lato||||||||&#8221; body_text_align=&#8221;justify&#8221; body_font_size=&#8221;18px&#8221; custom_margin=&#8221;||||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;|||0px|false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; custom_padding=&#8221;||1px||false|false&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;|||0px|false|false&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; hover_enabled=&#8221;0&#8243; custom_css_blurb_image=&#8221;margin-left: 12px;&#8221; custom_css_blurb_content=&#8221;display: flex;||flex-direction: row-reverse;&#8221; sticky_enabled=&#8221;0&#8243;]<\/p>\n<p>Some new context menu items are introduced in this tool:<br \/>Flip: Change the direction of a selected edge. An edge in LO context is a connector.<\/p>\n<p>Flip net: A net is two or more edges connected through common glue points. All these edges will be flipped if just one of the edges are selected.<\/p>\n<p>Start Path: Set the selected node as the start of a path. A node in LO context is a figure which is not a connector.<\/p>\n<p>End Path: If a start has been selected (see above), then by select a node and press \u201cEnd Path\u201d the path will be shown by painting all vertices in the path red.<\/p>\n<p>Because of a design flaw in LO the above features might only work in an English or danish version of LO.<\/p>\n<p>[\/et_pb_blurb][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/image.png&#8221; title_text=&#8221;image&#8221; align=&#8221;center&#8221; admin_label=&#8221;Features image&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; disabled_on=&#8221;on|on|off&#8221; admin_label=&#8221;Code row&#8221; module_id=&#8221;features&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; width=&#8221;90%&#8221; max_width=&#8221;1900px&#8221; max_width_last_edited=&#8221;off|tablet&#8221; custom_margin=&#8221;||||false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;-53px||||false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; custom_padding=&#8221;50px|50px|50px|60px||&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;30px|30px||30px|false|true&#8221; saved_tabs=&#8221;all&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][dnxte_blurb blurb_heading=&#8221;Code&#8221; dnxt_image=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/idm2.png&#8221; image_placement=&#8221;right-center&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; dnxt_pre_header_text_align=&#8221;left&#8221; custom_padding=&#8221;6px||0px||false|false&#8221;][\/dnxte_blurb][et_pb_blurb content_max_width=&#8221;69%&#8221; content_max_width_tablet=&#8221;&#8221; content_max_width_phone=&#8221;&#8221; content_max_width_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Code block text&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; header_level=&#8221;h3&#8243; header_font=&#8221;Lato||||||||&#8221; header_font_size=&#8221;48px&#8221; header_line_height=&#8221;3em&#8221; body_font=&#8221;Lato||||||||&#8221; body_text_align=&#8221;justify&#8221; body_font_size=&#8221;18px&#8221; custom_margin=&#8221;|0px||0px|false|false&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;|||0px|false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; custom_padding=&#8221;|0px|1px|0px|false|false&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;|||0px|false|false&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; custom_css_blurb_image=&#8221;margin-left: 12px;&#8221; custom_css_blurb_content=&#8221;display: flex;||flex-direction: row-reverse;&#8221;]<\/p>\n<p>A programming interface to the extension is available:<\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: large;\"><strong><span style=\"color: #7e0054;\">module <\/span><span style=\"color: #000000;\">dk {<\/span> <span style=\"color: #7e0054;\">module <\/span><span style=\"color: #000000;\">mikromir { <\/span><span style=\"color: #7e0054;\">module <\/span><span style=\"color: #000000;\">netgraph{<\/span><\/strong><\/span><\/p>\n<p style=\"text-align: left; padding-left: 40px;\"><span style=\"font-size: large;\"><strong><span style=\"color: #7e0054;\">interface <\/span><span style=\"color: #000000;\">XNetGraph:com::sun::<\/span><\/strong><strong><span style=\"color: #000000;\">star::task::XJobExecutor {<\/span><\/strong><\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: large;\"><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">unsigned short<\/span> buildGraph([in] <\/strong><\/span><span style=\"color: #001ddb;\"><strong>string<\/strong><strong> <\/strong><\/span><span style=\"color: #000000;\"><strong>regexnr, [<span style=\"color: #38e17d;\">in<\/span>] <\/strong><\/span><strong style=\"color: #000000;\"><span style=\"color: #001ddb;\">string <\/span>regexname, [<span style=\"color: #38e17d;\">in<\/span>] com::sun::star::<\/strong><span style=\"color: #000000;\"><strong>drawing::XDrawPage page);<br \/><\/strong><\/span><strong style=\"color: #000000;\"><span style=\"color: #001ddb;\">sequence<\/span>&lt;<span style=\"color: #001ddb;\">unsigned short<\/span>&gt; getGraph();<\/strong><\/span><\/p>\n<p style=\"text-align: left; padding-left: 80px;\"><span style=\"color: #000000; font-size: large;\"><strong><span style=\"color: #001ddb;\">boolean <\/span>flip([<span style=\"color: #38e17d;\">in<\/span>] <\/strong><strong>com::sun::star::drawing::XShape<\/strong><strong> shape)<\/strong><\/span><\/p>\n<p style=\"text-align: left; padding-left: 120px;\"><span style=\"font-size: large;\"><strong><span style=\"color: #7e0054;\">raises <\/span><span style=\"color: #000000;\">(com::sun::star::<\/span><\/strong><strong><span style=\"color: #000000;\">uno::Exception);<\/span><\/strong><\/span><\/p>\n<p style=\"text-align: left; padding-left: 80px;\"><span style=\"font-size: large;\"><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">boolean <\/span>flipNet([in] com::sun::star::<\/strong><\/span><span style=\"color: #000000;\"><strong>drawing::XShape shape)<\/strong><\/span><\/span><\/p>\n<p style=\"text-align: left; padding-left: 120px;\"><span style=\"font-size: large;\"><strong><span style=\"color: #7e0054;\">raises <\/span><span style=\"color: #000000;\">(com::sun::star::uno::Exception);<\/span><\/strong><\/span><\/p>\n<p style=\"text-align: left; padding-left: 80px;\"><span style=\"font-size: large;\"><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">void <\/span>setStart([in<span style=\"color: #38e17d;\">] <\/span>com::sun::star::<\/strong><\/span><span style=\"color: #000000;\"><strong>drawing::XShape startShape);<br \/><\/strong><\/span><strong style=\"color: #000000;\"><span style=\"color: #001ddb;\">sequence<\/span>&lt;<span style=\"color: #001ddb;\">unsigned short<\/span>&gt; getPath([<span style=\"color: #38e17d;\">in<\/span>] com::<\/strong><strong style=\"color: #000000;\">sun::star::drawing::XShape endShape)<\/strong><\/span><\/p>\n<p style=\"text-align: left; padding-left: 120px;\"><span style=\"font-size: large;\"><strong style=\"color: #000000;\"><span style=\"color: #7e0054;\">raises <\/span>(com::sun::star::uno::Exception);<\/strong><\/span><\/p>\n<p style=\"text-align: left; padding-left: 80px;\"><span style=\"font-size: large;\"><span style=\"color: #000000;\"><strong>com::sun::star::drawing::XShape <\/strong><\/span><strong style=\"color: #000000;\">getVertice([<span style=\"color: #38e17d;\">in<\/span>]<span style=\"color: #001ddb;\"> unsigned short <\/span>nr)<\/strong><\/span><\/p>\n<p style=\"text-align: left; padding-left: 120px;\"><span style=\"font-size: large;\"><span style=\"color: #000000;\"><strong><span style=\"color: #7e0054;\">raises <\/span>(com::sun::star::lang::<\/strong><\/span><span style=\"color: #000000;\"><strong>WrappedTargetException, <\/strong><\/span><strong style=\"color: #000000;\">com::sun::star::lang::<\/strong><span style=\"color: #000000;\"><strong>IndexOutOfBoundsException);<\/strong><\/span><\/span><\/p>\n<p style=\"text-align: left; padding-left: 80px;\"><span style=\"font-size: large;\"><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">sequence<\/span>&lt;<span style=\"color: #001ddb;\">unsigned short<\/span>&gt; <\/strong><\/span><strong style=\"color: #000000;\">getEdges([<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">short <\/span>vertice, [<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">boolean <\/span>exit);<br \/><\/strong><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">sequence<\/span>&lt;<span style=\"color: #001ddb;\">unsigned short<\/span>&gt; <\/strong><\/span><strong style=\"color: #000000;\">getNetIds([<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">short <\/span>vertice, [<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">boolean <\/span>exit);<br \/><\/strong><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">void <\/span>set_eval([<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">string <\/span>evalstr);<\/strong><\/span><\/span><br \/><span style=\"color: #000000; font-size: large;\"><strong><span style=\"color: #001ddb;\">void <\/span>repeat_proc([<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">short <\/span>vertice);<\/strong><\/span><br \/><span style=\"color: #000000; font-size: large;\"><strong><span style=\"color: #001ddb;\">boolean <\/span>go([<span style=\"color: #38e17d;\">in<\/span>] short max)<\/strong><\/span><br \/><span style=\"font-size: large;\"><span style=\"color: #000000;\"><strong><span style=\"color: #7e0054;\">raises<\/span>(com::sun::star::script::provider::<\/strong><\/span><span style=\"color: #000000;\"><strong>ScriptFrameworkErrorException,<\/strong><\/span><strong style=\"color: #000000;\">com::sun::star::reflection::<\/strong><span style=\"color: #000000;\"><strong>InvocationTargetException);<\/strong><\/span><\/span><br \/><span style=\"font-size: large;\"><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">void <\/span>stop();<br \/><\/strong><\/span><span style=\"color: #000000;\"><strong><\/strong><\/span><span style=\"color: #000000;\"><strong>};<\/strong><\/span><\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"color: #000000; font-size: large;\"><strong>}; }; };<\/strong><\/span><span style=\"color: #000000;\"><strong><\/strong><\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"color: #000000;\"><strong><\/strong><\/span><\/p>\n<p style=\"text-align: left;\">With this interface it is possible it is write comprehensive macros which manipulates a graph.<br \/>The use is best seen in an example.<\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: large;\"><span style=\"color: #000000;\"><strong><\/strong><\/span><\/span><\/p>\n<p>[\/et_pb_blurb][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_2,1_2&#8243; use_custom_gutter=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; disabled_on=&#8221;off|off|on&#8221; admin_label=&#8221;Example row&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; width=&#8221;90%&#8221; max_width=&#8221;1900px&#8221; max_width_last_edited=&#8221;off|tablet&#8221; custom_padding=&#8221;50px|50px||60px||&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;30px|30px||30px|false|true&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][dnxte_blurb blurb_heading=&#8221;Code&#8221; dnxt_image=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/idm2.png&#8221; image_placement=&#8221;right-center&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;35px|||||&#8221;][\/dnxte_blurb][et_pb_blurb content_max_width=&#8221;981px&#8221; content_tablet=&#8221;&#8221; content_phone=&#8221;<\/p>\n<p style=%22text-align: left;%22>A programming interface to the extension is available:<\/p>\n<p style=%22text-align: left;%22><strong><span style=%22color: #7e0054;%22>module <\/span><span style=%22color: #000000;%22>dk {<\/span> <span style=%22color: #7e0054;%22>module <\/span><span style=%22color: #000000;%22>mikromir { <\/span><span style=%22color: #7e0054;%22>module <\/span><span style=%22color: #000000;%22>netgraph {<br \/><\/span><\/strong><strong><span style=%22color: #7e0054;%22>interface <\/span><span style=%22color: #000000;%22>XNetGraph: com::sun::<br \/><\/span><\/strong><strong><span style=%22color: #000000;%22>star::task::XJobExecutor {<\/span><\/strong><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>unsigned short<\/span> buildGraph(%91in%93 <\/strong><\/span><span style=%22color: #001ddb;%22><strong>string<\/strong><strong> <\/strong><\/span><span style=%22color: #000000;%22><strong>regexnr, %91<span style=%22color: #38e17d;%22>in<\/span>%93 <\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>string <\/span>regexname, %91<span style=%22color: #38e17d;%22>in<\/span>%93 com::sun::star::<br \/><\/strong><\/span><span style=%22color: #000000;%22><strong>drawing::XDrawPage page); <\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>sequence<\/span><<span style=%22color: #001ddb;%22>unsigned short<\/span>> getGraph();<\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>boolean <\/span>flip(%91<span style=%22color: #38e17d;%22>in<\/span>%93 <\/strong><strong>com::sun::star::drawing::XShape<\/strong><strong> shape)<br \/><\/strong><\/span><strong><span style=%22color: #7e0054;%22>raises <\/span><span style=%22color: #000000;%22>(com::sun::star::<\/span><\/strong><strong><span style=%22color: #000000;%22>uno::Exception);<\/span><\/strong><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>boolean <\/span>flipNet(%91in%93 com::sun::star::<\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>drawing::XShape shape)<\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><strong><span style=%22color: #7e0054;%22>raises <\/span><span style=%22color: #000000;%22>(com::sun::star::uno::Exception);<\/span><\/strong><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>void <\/span>setStart(%91in<span style=%22color: #38e17d;%22>%93 <\/span>com::sun::star::<\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>drawing::XShape startShape);<br \/><\/strong><\/span><strong style=%22color: #000000; font-size: 16px;%22><span style=%22color: #001ddb;%22>sequence<\/span><<span style=%22color: #001ddb;%22>unsigned short<\/span>> getPath(%91<span style=%22color: #38e17d;%22>in<\/span>%93 com::<\/strong><\/p>\n<p style=%22text-align: left;%22><strong style=%22color: #000000; font-size: 16px;%22>sun::star::drawing::XShape endShape)<\/strong><\/p>\n<p style=%22text-align: left;%22><strong style=%22color: #000000; font-size: 16px;%22><span style=%22color: #7e0054;%22>raises <\/span>(com::sun::star::uno::Exception);<\/strong><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>com::sun::star::drawing::XShape <\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>getVertice(%91<span style=%22color: #38e17d;%22>in<\/span>%93<span style=%22color: #001ddb;%22> unsigned short <\/span>nr)<\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong><span style=%22color: #7e0054;%22>raises <\/span>(com::sun::star::lang::<\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>WrappedTargetException, <\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>com::sun::star::lang::<\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>IndexOutOfBoundsException);<\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>sequence<\/span><<span style=%22color: #001ddb;%22>unsigned short<\/span>> <\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>getEdges(%91<span style=%22color: #38e17d;%22>in<\/span>%93 <span style=%22color: #001ddb;%22>short <\/span>vertice, %91<span style=%22color: #38e17d;%22>in<\/span>%93 <span style=%22color: #001ddb;%22>boolean <\/span>exit);<\/strong><\/span><br \/><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>sequence<\/span><<span style=%22color: #001ddb;%22>unsigned short<\/span>> <\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>getNetIds(%91<span style=%22color: #38e17d;%22>in<\/span>%93 <span style=%22color: #001ddb;%22>short <\/span>vertice, %91<span style=%22color: #38e17d;%22>in<\/span>%93 <span style=%22color: #001ddb;%22>boolean <\/span>exit);<\/strong><\/span><br \/><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>void <\/span>set_eval(%91<span style=%22color: #38e17d;%22>in<\/span>%93 <span style=%22color: #001ddb;%22>string <\/span>evalstr);<\/strong><\/span><br \/><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>void <\/span>repeat_proc(%91<span style=%22color: #38e17d;%22>in<\/span>%93 <span style=%22color: #001ddb;%22>short <\/span>vertice);<\/strong><\/span><br \/><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>boolean <\/span>go(%91<span style=%22color: #38e17d;%22>in<\/span>%93 short max)<\/strong><\/span><br \/><span style=%22color: #000000;%22><strong><span style=%22color: #7e0054;%22>raises<\/span>(com::sun::star::<br \/>script::provider::<\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>ScriptFrameworkErrorException, <\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>com::sun::star::reflection:: <\/strong><\/span><\/p>\n<p style=%22text-align: left;%22><span style=%22color: #000000;%22><strong>InvocationTargetException);<\/strong><\/span><br \/><span style=%22color: #000000;%22><strong><span style=%22color: #001ddb;%22>void <\/span>stop();<br \/><\/strong><\/span><span style=%22color: #000000;%22><strong><\/strong><\/span><span style=%22color: #000000;%22><strong>};<\/strong><\/span><span style=%22color: #000000;%22><strong>}; }; };<\/strong><\/span><\/p>\n<p style=%22text-align: left;%22>With this interface it is possible it is write<\/p>\n<p style=%22text-align: left;%22>comprehensive macros<\/p>\n<p style=%22text-align: left;%22>which manipulates a graph.<br \/>The use is best seen in an example.<\/p>\n<p>&#8221; content_last_edited=&#8221;on|phone&#8221; content_max_width_tablet=&#8221;&#8221; content_max_width_phone=&#8221;&#8221; content_max_width_last_edited=&#8221;on|phone&#8221; admin_label=&#8221;Example left alligned text&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; header_level=&#8221;h3&#8243; header_font_size=&#8221;38px&#8221; header_line_height=&#8221;3em&#8221; body_text_align=&#8221;justify&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;||1px||false|false&#8221; custom_css_blurb_image=&#8221;margin-left: 12px;&#8221; custom_css_blurb_content=&#8221;display: flex;||flex-direction: row-reverse;&#8221;]<\/p>\n<p style=\"text-align: left;\">A programming interface to the extension is available:<\/p>\n<p style=\"text-align: left;\"><strong><span style=\"color: #7e0054;\">module <\/span><span style=\"color: #000000;\">dk {<\/span> <span style=\"color: #7e0054;\">module <\/span><span style=\"color: #000000;\">mikromir<br \/>{ <\/span><span style=\"color: #7e0054;\">module <\/span><span style=\"color: #000000;\">netgraph {<br \/><\/span><\/strong><strong><span style=\"color: #7e0054;\">interface <\/span><span style=\"color: #000000;\">XNetGraph: com::sun::<br \/><\/span><\/strong><strong><span style=\"color: #000000;\">star::task::XJobExecutor {<br \/><\/span><\/strong><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">unsigned short<\/span> buildGraph([in] <\/strong><\/span><span style=\"color: #001ddb;\"><strong>string<\/strong><strong> <\/strong><\/span><span style=\"color: #000000;\"><strong>regexnr, [<span style=\"color: #38e17d;\">in<\/span>]<br \/><\/strong><\/span><strong style=\"color: #000000; font-size: 16px;\"><span style=\"color: #001ddb;\">string <\/span>regexname, [<span style=\"color: #38e17d;\">in<\/span>] com::sun::star::<br \/><\/strong><span style=\"color: #000000;\"><strong>drawing::XDrawPage page);<br \/><\/strong><\/span><strong style=\"color: #000000; font-size: 16px;\"><span style=\"color: #001ddb;\">sequence<\/span>&lt;<span style=\"color: #001ddb;\">unsigned short<\/span>&gt; getGraph();<br \/><\/strong><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">boolean <\/span>flip([<span style=\"color: #38e17d;\">in<\/span>] <\/strong><strong>com::sun::star::drawing::XShape<\/strong><strong> shape)<br \/><\/strong><\/span><strong><span style=\"color: #7e0054;\">raises <\/span><span style=\"color: #000000;\">(com::sun::star::<\/span><\/strong><strong><span style=\"color: #000000;\">uno::Exception);<br \/><\/span><\/strong><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">boolean <\/span>flipNet([in] com::sun::star::<br \/><\/strong><\/span><span style=\"color: #000000;\"><strong>drawing::XShape shape)<br \/><\/strong><\/span><strong><span style=\"color: #7e0054;\">raises <\/span><span style=\"color: #000000;\">(com::sun::star::uno::Exception);<br \/><\/span><\/strong><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">void <\/span>setStart([in<span style=\"color: #38e17d;\">] <\/span>com::sun::star::<br \/><\/strong><\/span><span style=\"color: #000000;\"><strong>drawing::XShape startShape);<br \/><\/strong><\/span><strong style=\"color: #000000; font-size: 16px;\"><span style=\"color: #001ddb;\">sequence<\/span>&lt;<span style=\"color: #001ddb;\">unsigned short<\/span>&gt; getPath([<span style=\"color: #38e17d;\">in<\/span>] com::<br \/><\/strong><strong style=\"color: #000000; font-size: 16px;\">sun::star::drawing::XShape endShape)<br \/><\/strong><strong style=\"color: #000000; font-size: 16px;\"><span style=\"color: #7e0054;\">raises <\/span>(com::sun::star::uno::Exception);<br \/><\/strong><span style=\"color: #000000;\"><strong>com::sun::star::drawing::XShape<br \/><\/strong><\/span><strong style=\"color: #000000; font-size: 16px;\">getVertice([<span style=\"color: #38e17d;\">in<\/span>]<span style=\"color: #001ddb;\"> unsigned short <\/span>nr)<br \/><\/strong><span style=\"color: #000000;\"><strong><span style=\"color: #7e0054;\">raises <\/span>(com::sun::star::lang::<br \/><\/strong><\/span><span style=\"color: #000000;\"><strong>WrappedTargetException,<br \/><\/strong><\/span><strong style=\"color: #000000; font-size: 16px;\">com::sun::star::lang::<br \/><\/strong><span style=\"color: #000000;\"><strong>IndexOutOfBoundsException);<br \/><\/strong><\/span><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">sequence<\/span>&lt;<span style=\"color: #001ddb;\">unsigned short<\/span>&gt;<br \/><\/strong><\/span><strong style=\"color: #000000; font-size: 16px;\">getEdges([<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">short <\/span>vertice, [<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">boolean <\/span>exit);<br \/><\/strong><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">sequence<\/span>&lt;<span style=\"color: #001ddb;\">unsigned short<\/span>&gt;<br \/><\/strong><\/span><strong style=\"color: #000000; font-size: 16px;\">getNetIds([<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">short <\/span>vertice, [<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">boolean <\/span>exit);<br \/><\/strong><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">void <\/span>set_eval([<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">string <\/span>evalstr);<\/strong><\/span><br \/><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">void <\/span>repeat_proc([<span style=\"color: #38e17d;\">in<\/span>] <span style=\"color: #001ddb;\">short <\/span>vertice);<\/strong><\/span><br \/><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">boolean <\/span>go([<span style=\"color: #38e17d;\">in<\/span>] short max)<\/strong><\/span><br \/><span style=\"color: #000000;\"><strong><span style=\"color: #7e0054;\">raises<\/span>(com::sun::star::<br \/>script::provider::<br \/><\/strong><\/span><span style=\"color: #000000;\"><strong>ScriptFrameworkErrorException,<br \/><\/strong><\/span><strong style=\"color: #000000; font-size: 16px;\">com::sun::star::reflection::<br \/><\/strong><span style=\"color: #000000;\"><strong>InvocationTargetException);<\/strong><\/span><br \/><span style=\"color: #000000;\"><strong><span style=\"color: #001ddb;\">void <\/span>stop();<br \/><\/strong><\/span><span style=\"color: #000000;\"><strong><\/strong><\/span><span style=\"color: #000000;\"><strong>};<\/strong><\/span><span style=\"color: #000000;\"><strong>}; }; };<\/strong><\/span><\/p>\n<p style=\"text-align: left;\">With this interface it is possible it is write<\/p>\n<p style=\"text-align: left;\">comprehensive macros<\/p>\n<p style=\"text-align: left;\">which manipulates a graph.<br \/>The use is best seen in an example.<\/p>\n<p>[\/et_pb_blurb][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_2,1_2&#8243; use_custom_gutter=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; admin_label=&#8221;Example row&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; width=&#8221;90%&#8221; max_width=&#8221;1900px&#8221; max_width_last_edited=&#8221;off|tablet&#8221; custom_padding=&#8221;50px|50px||60px||&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;0px|30px||30px|false|true&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][dnxte_blurb blurb_heading=&#8221;Example&#8221; dnxt_image=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/idm3.png&#8221; image_placement=&#8221;right-center&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;35px|||||&#8221;][\/dnxte_blurb][et_pb_blurb content_max_width=&#8221;621px&#8221; admin_label=&#8221;Example left alligned text&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; header_level=&#8221;h3&#8243; header_font_size=&#8221;38px&#8221; header_line_height=&#8221;3em&#8221; body_font=&#8221;Lato||||||||&#8221; body_text_align=&#8221;justify&#8221; body_font_size=&#8221;18px&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;||1px||false|false&#8221; custom_css_blurb_image=&#8221;margin-left: 12px;&#8221; custom_css_blurb_content=&#8221;display: flex;||flex-direction: row-reverse;&#8221;]<\/p>\n<p>The \u201cG1\u201d drawing document contains a lot of macros that are used in a search for a 3 color solution for a graph that is not directed. Only the macro \u201cGraphAlgorithm.Main\u201d is supposed to be called by the user.<\/p>\n<p><strong>Prerequisites:<\/strong><br \/>1. Besides the drawing document with the graph, also one spreadsheet document has to be open. The spreadsheet is used to store certain data about each node. See the macro<br \/>2. Only one drawing document must be open.<br \/>3. LO must be configured with java, and therefore java must have been installed.<\/p>\n<p>[\/et_pb_blurb][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][\/et_pb_column][\/et_pb_row][et_pb_row use_custom_gutter=&#8221;on&#8221; admin_label=&#8221;Example row 2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; max_width=&#8221;1407px&#8221; module_alignment=&#8221;center&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][et_pb_image src=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/img1.jpg&#8221; title_text=&#8221;img1&#8243; show_in_lightbox=&#8221;on&#8221; align=&#8221;center&#8221; admin_label=&#8221;First example image&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; width_tablet=&#8221;&#8221; width_phone=&#8221;90%&#8221; width_last_edited=&#8221;on|phone&#8221; max_width_tablet=&#8221;&#8221; max_width_phone=&#8221;none&#8221; max_width_last_edited=&#8221;on|phone&#8221;][\/et_pb_image][et_pb_text admin_label=&#8221;%22And after running%22 Text&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Lato||||||||&#8221; text_font_size=&#8221;18px&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;|||23px|false|false&#8221; custom_padding_last_edited=&#8221;on|phone&#8221;]<\/p>\n<p>And after running:<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/result.png&#8221; title_text=&#8221;result&#8221; align=&#8221;center&#8221; admin_label=&#8221;Second example image&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; width_tablet=&#8221;&#8221; width_phone=&#8221;90%&#8221; width_last_edited=&#8221;on|phone&#8221; max_width_tablet=&#8221;&#8221; max_width_phone=&#8221;&#8221; max_width_last_edited=&#8221;on|phone&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_2,1_2&#8243; use_custom_gutter=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; admin_label=&#8221;Download row&#8221; module_id=&#8221;download&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; width=&#8221;90%&#8221; max_width=&#8221;1900px&#8221; max_width_last_edited=&#8221;off|tablet&#8221; custom_padding=&#8221;50px|50px||60px||&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;0px|50px||20px|false|false&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][dnxte_blurb blurb_heading=&#8221;Download&#8221; dnxt_image=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/idm4.png&#8221; image_placement=&#8221;right-center&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;35px|||||&#8221;][\/dnxte_blurb][et_pb_code _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]<div class='w3eden'><!-- WPDM Link Template: Default Template -->\n\n<div class=\"link-template-default card mb-2\">\n    <div class=\"card-body\">\n        <div class=\"media\">\n            <div class=\"mr-3 img-48\"><img decoding=\"async\" class=\"wpdm_icon\" alt=\"Icon\" src=\"data:image\/svg+xml;base64,ICAgICAgICAgICAgPHN2ZyBpZD0iTGF5ZXJfNmE2ZGVjZDI4ZmE0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMjsiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiCiAgICAgICAgICAgICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHN0eWxlCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQvY3NzIj4KICAgICAgICAgICAgICAgICAgICAuc3RfNmE2ZGVjZDI4ZmE0MF8wIHsKICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogcmdiYSgzOCwgMTU3LCAyMzksIDAuMyk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAuc3RfNmE2ZGVjZDI4ZmE0MF8xIHsKICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogcmdiYSgzOCwgMTU3LCAyMzksIDAuOSk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAuc3RfNmE2ZGVjZDI4ZmE0MF8yIHsKICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogIzI2OWRlZjsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIC5zdF82YTZkZWNkMjhmYTQwXzMgewogICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAjRkZGRkZGOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgICAgICAgICA8ZyBpZD0iWE1MSURfMTY4XyI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IlhNTElEXzgzXyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIGNsYXNzPSJzdF82YTZkZWNkMjhmYTQwXzAiIGlkPSJYTUxJRF84N18iIHBvaW50cz0iMzMwLjcsNiA4Ny45LDYgODcuOSw1MDYgNDQ5LjIsNTA2IDQ0OS4yLDEyMi44ICAgIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIGNsYXNzPSJzdF82YTZkZWNkMjhmYTQwXzEiIGlkPSJYTUxJRF84Nl8iIHBvaW50cz0iMzMwLjcsNiA0NDkuMiwxMjIuOCAzMzAuNywxMjIuOCAgICIvPgogICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBjbGFzcz0ic3RfNmE2ZGVjZDI4ZmE0MF8xIiBoZWlnaHQ9IjE1Ni4xIiBpZD0iWE1MSURfODVfIiB3aWR0aD0iMzI5IiB4PSI2Mi44IiB5PSIyOTguOCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8cG9seWdvbiBjbGFzcz0ic3RfNmE2ZGVjZDI4ZmE0MF8yIiBpZD0iWE1MSURfODRfIiBwb2ludHM9IjYyLjgsNDU0LjkgODcuOSw0NzYuMSA4Ny45LDQ1NC45ICAgIi8+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDxnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaWQ9IlhNTElEXzMxMTNfIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRleHQgeD0iMjAlIiBmaWxsPSJ3aGl0ZSIgc3R5bGU9ImZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO2ZvbnQtc2l6ZTogNzI1JTtmb250LXdlaWdodDogYm9sZDsiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk9IjgyJSI+T0RHPC90ZXh0PgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICA8L3N2Zz4KICAgICAgICAgICAg\" \/><\/div>\n            <div class=\"media-body\">\n                <h3 class=\"package-title\"><a href='https:\/\/dbj-graphs.com\/index.php\/download\/g1-odg\/'>G1.odg<\/a><\/h3>\n                <div class=\"text-muted text-small\"><i class=\"fas fa-copy\"><\/i> 1 file(s) <i class=\"fas fa-hdd ml-3\"><\/i> 16.52 KB<\/div>\n            <\/div>\n            <div class=\"ml-3\">\n                <a class='wpdm-download-link download-on-click btn btn-primary ' rel='nofollow' href='#' data-downloadurl=\"https:\/\/dbj-graphs.com\/index.php\/download\/g1-odg\/?wpdmdl=523&refresh=6a6decd28fa8a1785588946\">Download<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<\/div>[\/et_pb_code][et_pb_code _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; sticky_enabled=&#8221;0&#8243;]<div class='w3eden'><!-- WPDM Link Template: Default Template -->\n\n<div class=\"link-template-default card mb-2\">\n    <div class=\"card-body\">\n        <div class=\"media\">\n            <div class=\"mr-3 img-48\"><img decoding=\"async\" class=\"wpdm_icon\" alt=\"Icon\" src=\"https:\/\/dbj-graphs.com\/wp-content\/plugins\/download-manager\/assets\/file-type-icons\/zip.svg\" \/><\/div>\n            <div class=\"media-body\">\n                <h3 class=\"package-title\"><a href='https:\/\/dbj-graphs.com\/index.php\/download\/ng\/'>NG-0.2<\/a><\/h3>\n                <div class=\"text-muted text-small\"><i class=\"fas fa-copy\"><\/i> 1 file(s) <i class=\"fas fa-hdd ml-3\"><\/i> 40.78 KB<\/div>\n            <\/div>\n            <div class=\"ml-3\">\n                <a class='wpdm-download-link download-on-click btn btn-primary ' rel='nofollow' href='#' data-downloadurl=\"https:\/\/dbj-graphs.com\/index.php\/download\/ng\/?wpdmdl=531&refresh=6a6decd292aba1785588946\">Download<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<\/div>[\/et_pb_code][et_pb_blurb content_max_width=&#8221;621px&#8221; admin_label=&#8221;Download text with integrated downloads module&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; header_level=&#8221;h3&#8243; header_font_size=&#8221;38px&#8221; header_line_height=&#8221;3em&#8221; body_font=&#8221;Lato||||||||&#8221; body_text_align=&#8221;justify&#8221; body_font_size=&#8221;18px&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;||1px||false|false&#8221; custom_css_blurb_image=&#8221;margin-left: 12px;&#8221; custom_css_blurb_content=&#8221;display: flex;||flex-direction: row-reverse;&#8221;]<\/p>\n<p>NG.zip contains the LO extension. All rights are reserved<\/p>\n<p style=\"text-align: left;\"><span style=\"font-size: 18px;\">THE SOFTWARE IS PROVIDED &#8220;AS IS&#8221;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.<\/span><\/p>\n<p style=\"text-align: left;\">IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE<br \/>OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<\/p>\n<p>[\/et_pb_blurb][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][\/et_pb_column][\/et_pb_row][et_pb_row column_structure=&#8221;1_2,1_2&#8243; use_custom_gutter=&#8221;on&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; admin_label=&#8221;Contact row&#8221; module_id=&#8221;contact&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; width=&#8221;90%&#8221; max_width=&#8221;1900px&#8221; max_width_last_edited=&#8221;off|tablet&#8221; custom_padding=&#8221;50px|50px||60px||&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;0px|30px||30px|false|false&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][dnxte_blurb blurb_heading=&#8221;Contact&#8221; dnxt_image=&#8221;http:\/\/dbj-graphs.com\/wp-content\/uploads\/2021\/07\/idm5.png&#8221; image_placement=&#8221;right-center&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;35px|||||&#8221;][\/dnxte_blurb][et_pb_blurb content_max_width=&#8221;621px&#8221; admin_label=&#8221;Contact text&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; header_level=&#8221;h3&#8243; header_font_size=&#8221;38px&#8221; header_line_height=&#8221;3em&#8221; body_font=&#8221;Lato||||||||&#8221; body_text_align=&#8221;justify&#8221; body_font_size=&#8221;18px&#8221; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;|130px|0px|0px|false|false&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;|0px|1px|20px|false|false&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; custom_css_blurb_image=&#8221;margin-left: 12px;&#8221; custom_css_blurb_content=&#8221;display: flex;||flex-direction: row-reverse;&#8221;]<\/p>\n<p style=\"text-align: left;\"><strong>About David Bo Jensen<\/strong><br \/>M.Sc in electronics, living in Copenhagen<\/p>\n<p style=\"text-align: left;\">I can be contacted through Facebook by leaving a message on:<br \/><a href=\"https:\/\/www.facebook.com\/davidbo.jensen.7\">Facebook link here<\/a><br \/>I can not guarantee I will answer. It depends on the number of messages and how busy I am.<br \/>I am interested in people who know Libre Office well, can write extensions or good C++ programmers.<br \/>I work usually with 2 or three people.<br \/>Projects about enhancements of my extensions or other graph theory-related projects to which we can contribute or undertake are also interesting. If you share my interests leave a message.<br \/>Announcements about tools or updates of these will be done on our Facebook page. Link at the bottom.<\/p>\n<p>[\/et_pb_blurb][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221;][dvppl_cf7_styler form_padding=&#8221;140px|0px|0px|0px|false|false&#8221; cf7=&#8221;137&#8243; form_background_color=&#8221;#ffffff&#8221; cf7_message_color=&#8221;#000000&#8243; cf7_success_message_color=&#8221;#000000&#8243; cf7_success_message_bg_color=&#8221;#FFFFFF&#8221; cf7_success_border_color=&#8221;#FFFFFF&#8221; cf7_error_message_color=&#8221;#000000&#8243; cf7_error_border_color=&#8221;#FFFFFF&#8221; _builder_version=&#8221;4.9.10&#8243; _module_preset=&#8221;default&#8221; form_field_font_font=&#8221;Lato||||||||&#8221; form_field_font_font_size=&#8221;15px&#8221; custom_submit_button=&#8221;on&#8221; submit_button_bg_color=&#8221;#7098ca&#8221; submit_button_border_width=&#8221;3px&#8221; submit_button_border_color=&#8221;#7098ca&#8221; submit_button_border_radius=&#8221;0px&#8221; submit_button_font=&#8221;Lato||||||||&#8221; submit_button_custom_margin=&#8221;||||false|false&#8221; submit_button_custom_padding=&#8221;|30px||30px|false|false&#8221; module_alignment=&#8221;center&#8221; custom_margin_tablet=&#8221;-100px||-4px||false|false&#8221; custom_margin_phone=&#8221;-132px||||false|false&#8221; custom_margin_last_edited=&#8221;on|tablet&#8221; custom_padding=&#8221;|||0px|false|false&#8221; custom_padding_tablet=&#8221;|||0px|false|false&#8221; custom_padding_phone=&#8221;|||18px|false|false&#8221; custom_padding_last_edited=&#8221;on|tablet&#8221; border_radii_field=&#8221;on|3px|3px|3px|3px&#8221;][\/dvppl_cf7_styler][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>NetGraph A LibreOffice extension to manipulate graphs (as in graph theory), ordinary as well as directed graphs are supported.You can take advantage of the drawing capabilities LO offers and then write macros that manipulate the graph. It might also work in OpenOffice. Download Features Some new context menu items are introduced in this tool:Flip: Change [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-15","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dbj-graphs.com\/index.php\/wp-json\/wp\/v2\/pages\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dbj-graphs.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dbj-graphs.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dbj-graphs.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dbj-graphs.com\/index.php\/wp-json\/wp\/v2\/comments?post=15"}],"version-history":[{"count":190,"href":"https:\/\/dbj-graphs.com\/index.php\/wp-json\/wp\/v2\/pages\/15\/revisions"}],"predecessor-version":[{"id":578,"href":"https:\/\/dbj-graphs.com\/index.php\/wp-json\/wp\/v2\/pages\/15\/revisions\/578"}],"wp:attachment":[{"href":"https:\/\/dbj-graphs.com\/index.php\/wp-json\/wp\/v2\/media?parent=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}