Mind-Maps mit Draw erstellen?

Zeichnungen erstellen

Moderator: Moderatoren

Ralle81
Beiträge: 6
Registriert: Di, 23.11.2010 09:42

Mind-Maps mit Draw erstellen?

Beitrag von Ralle81 » Sa, 08.06.2019 22:52

Hi,

ich würde mir gerne ein paar Mind Maps mit Draw erstellen, bzw. habe das schon, indem ich einfach ein paar Rechtecke gemalt, diese mit Verbindern verbunden, entsprechend beschriftet und eingefärbt habe.

Jetzt kommt das große ABER:

Bei "echten" Mind-Maps ist es normalerweise so, dass man per Klick einzelne "Zweige" des Mind-Maps aus- bzw. einblenden kann. Ist sowas auch irgendwie in Draw möglich?

Ich weiß es es gibt für Mind-Maps auch spezielle Software, diese möchte ich aber aus verschiedenen Gründen nicht verwenden (meist sehr spezielle Dateiformate, oft kleine Programmier-Teams, Software wird dann manchmal nicht mehr weiterentwickelt oder hat Bugs). Ich weiß, dass man auch mit Calc oder Excel Mind-Maps erstellen kann, aus verschiedenen Gründen möchte ich aber nicht auf Calc oder Excel zurückgreifen.

Ich bin für jeden Hinweis dankbar, ggf. auch für work-arounds!

Besten Dank und Grüße,
Ralle81

Stephan
********
Beiträge: 11031
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Mind-Maps mit Draw erstellen?

Beitrag von Stephan » So, 09.06.2019 12:21

Du kannst Elemente (Rechtecke, Verbinder, etc.) gruppieren und dann die Gruppen per Makro aus-/einblenden. Um das vernünftig benutzen zu können brauchst Du eine Lösung zum Makro starten, am Flexibelsten dürfte dazu wohl ein sog. nicht-modaler Dialog mit einer Listbox sein, welche alle vorhandenen Gruppen auflistet und die Auswahl ermöglicht.

Insgesamt also, z.B.:

Code: Alles auswählen

Dim dia_bib
Dim dia
Dim beenden

Sub WindowListener_disposing(ev)
End Sub
Sub WindowListener_windowOpened(ev) '+
End Sub
Sub WindowListener_windowClosing(ev) '+
  dia_ende()
End Sub
Sub WindowListener_windowClosed(ev) '+
End Sub
Sub WindowListener_windowMinimized(ev) '+
End Sub
Sub WindowListener_windowNormalized(ev) '+
End Sub
Sub WindowListener_windowActivated(ev) '+
End Sub
Sub WindowListener_windowDeactivated(ev) '+
End Sub


Sub run_dialog()
	BasicLibraries.LoadLibrary("Standard")
	DialogLibraries.LoadLibrary("Standard")
	dia_bib = DialogLibraries.Standard.dlg_ea
	dia = CreateUnoDialog(dia_bib)
	Dim alle()
	For i = 0 To ThisComponent.DrawPages(0).Count-1
		If ThisComponent.DrawPages(0).getByIndex(i).Name <> "" AND LEFT(ThisComponent.DrawPages(0).getByIndex(i).Name, 6) = "Gruppe" Then
			x = UBOUND(alle())
			Redim Preserve alle(x+1)
			alle(x+1) = ThisComponent.DrawPages(0).getByIndex(i).Name
		End If
	Next i
	dia.getControl("lst_namen").model.StringItemList = alle()
	
	dia.addTopWindowListener(CreateUnoListener("WindowListener_", "com.sun.star.awt.XTopWindowListener"))
	
	beenden = 0
	dia.setVisible(true) 

	Do
		wait 100
	Loop While beenden = 0
	
End Sub

Sub ein_aus_blenden()
	On Error Resume Next
	
	With ThisComponent.DrawPages(0)
		For i = 0 To .Count
			If .getByIndex(i).Name = dia.getControl("lst_namen").selectedItem Then
				.getByIndex(i).Visible = Not(.getByIndex(i).Visible)
			End If
		Next i
	End With
End Sub

Sub dia_ende()
	beenden = 1
End Sub


Gruß
Stephan
Dateianhänge
Beispiel_mindmap.odg
(14.43 KiB) 6-mal heruntergeladen

Antworten