Esempio n. 1
0
	def dialogframe(self, title, statustext, c=1, cs=1):
		"""Common elemts for dialogs"""
		self.sdia = DialogMaker()
		self.sdia.title(title)
		self.sdia.menu()
		self.sdia.taskmenu(_("Tasks"))
		self.sdia.taskmenuentry(_("Choose directory..."), self.choosedir)
		self.sdia.taskmenuentry(_("Settings ..."), self.settingsdia)
		self.sdia.exitmenupoint()

		status = self.sdia.statusbar(statustext, c, 0, cs)
Esempio n. 2
0
class MainDialog(object):
	"""Erzeugt den Hauptdialog"""

	def dialogframe(self, title, statustext, c=1, cs=1):
		"""Common elemts for dialogs"""
		self.sdia = DialogMaker()
		self.sdia.title(title)
		self.sdia.menu()
		self.sdia.taskmenu(_("Tasks"))
		self.sdia.taskmenuentry(_("Choose directory..."), self.choosedir)
		self.sdia.taskmenuentry(_("Settings ..."), self.settingsdia)
		self.sdia.exitmenupoint()

		status = self.sdia.statusbar(statustext, c, 0, cs)

	def startdia(self):
		"""First dialog"""
		stitle = _("DICOnyM - Makes Dicom files anonymous")
		sstatustext = "Start"
		self.dialogframe(stitle, sstatustext, 2, 2)

		self.sdia.bilderfeld("UIelements/diconym_logo.gif", 350, 350, 0, 0)

		stext = _("""DICOnyM is a program to make Dicom files anonymous for science, education and more\n
It's Free Software - you can redistribute it and/or modify it\n
under the terms of the GNU General Public License as published by\n
the Free Software Foundation;\n
either version 3 of the License,\n
or (at your option) any later version.""")

		self.sdia.label(stext, 100,  0, 1, "yellow")
		self.ended = self.sdia
		self.sdia.mainloop()

	def endedia(self):
		self.ended.ende()


	def settingsdia(self):

		"""Dialog zum Setzen der Einstellungen"""
		self.endedia()
		
		print("hier")

	def choosedir(self):
		foldername = self.ended.folderOpenDialog()
		if foldername != "" and type(foldername) == str:
			self.filelistdia(foldername)

	def filelistdia(self, foldername):
		"""Second dialog"""
		allFiles = core.getFilesFromDir(foldername)

		if allFiles != {}:
			self.endedia()
			longestFullPath = self.getMaxLenFromList(allFiles.keys())
			longestFileName = self.getMaxLenFromList(allFiles.values())
			sumLineLen = longestFullPath + longestFileName + 4
			finalStringList = []
			for k in allFiles.keys():
				finalStringList.append("{k:{lFullPath}} | {val:{lFileName}}".format(k=k, lFullPath=longestFullPath,
																			val=allFiles[k], lFileName=longestFileName))

			stitle = _("DICOnyM - Makes Dicom files anonymous")
			sstatustext = _("File list")

			h = len(finalStringList)
			maxh = False # Listbox ohne Scrollbar
			mh = 10 # kann evt. hoeher gesetzt werden
			if h > mh: 
				h = mh
				maxh = True # Listbox mit Scrollbar
			self.dialogframe(stitle, sstatustext)
			self.sdia.tablelistbox(finalStringList, sumLineLen, h, 0, 0, maxh)

			self.sdia.editmenu(_("Edit"))
			self.sdia.editmenuentry(_("Choose selected files"), self.selectedfiles)
			self.ended = self.sdia
			self.sdia.mainloop()

		else:
			stitle = _("Nothing found!")
			stext = _("No dicom files found")
			self.sdia.mwarning(stitle, stext)
			self.choosedir()

	def selectedfiles(self):
		sfl = self.sdia.mehrfachauswahl(self.sdia.listbox)
		selectedfileslist = []
		sep = "|"
		for element in sfl:
			linesplit = element.split(sep)
			file = linesplit[0]
			file = file.strip()
			selectedfileslist.append(file)
		print(selectedfileslist) # nur zu Testzwecken

	def getMaxLenFromList(self, lst):
		longest = 0
		for element in lst:
			if len(element) > longest:
				longest = len(element)
		return longest