-
Notifications
You must be signed in to change notification settings - Fork 0
/
ppwzb.tex
53 lines (41 loc) · 3.04 KB
/
ppwzb.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
\chapter{Zestaw B, Projekt podsumowujący}
\begin{flushright}
Liczba punktów do zdobycia: {\bf 16/100}
\end{flushright}
\begin{enumerate}
\item ({\bf 16p}) Celem zadania jest połączenie zdobytej do tej pory wiedzy z obszaru języka i technologii. Zadanie polega na przygotowaniu aplikacji okienkowej
umożliwiającej wgląd/modyfikację w wybrany obszar danych.
Interfejs użytkownika: System.Windows.Forms, WPF lub MAUI. Aplikacja powinna obowiązkowo używać kontrolki drzewa (TreeView) i listy danych. Drzewo prezentuje dane w postaci hierarchicznej i znajduje się
po lewej stronie okna głównego, lista danych prezentuje fragment danych wskazany na drzewie i znajduje się w centralnej części okna (układ wzorowany np. na systemowym Eksploratorze plików).
Wybór funkcji dodania nowego elementu
lub edycji istniejacego powinien skutkować otwarciem danych do edycji w osobnym oknie.
\begin{itemize}
\item w przypadku WPF można próbować używać zewnętrznych bibliotek np. MvvmToolkit ({\tt https://learn.microsoft.com/en-us/dotnet/communitytoolkit/mvvm/}), czy Caliburn ({\tt https://caliburnmicro.com/})
\item kontrolka drzewa dla MAUI może pochodzić z zewnętrznej biblioteki komponentów, np. UraniumUI ({\tt https://github.com/enisn/UraniumUI})
\end{itemize}
Dostęp do danych (albo/albo):
\begin{itemize}
\item relacyjna baza danych (SQLServer/PostreSQL)
\item plik XML/JSON
\item system plików (opis niżej)
\end{itemize}
Specyfikacja wersji z bazą danych / plikiem XML:
\begin{itemize}
\item aplikacja przechowuje w bazie danych rejestr danych osobowych studentów (imię, nazwisko, data urodzenia), listę zajęć oraz przypisanie studenta do zajęć w roku akademickim
\item na drzewie pojawiają się trzy kategorie główne - lista studentów, lista lat akademickich, lista zajęć
\item lata akademickie można dodawać/edytować, zajęcia można dodawać/edytować
\item studentów można dodawać, edytować, po wskazaniu studenta na liście przechodzi się do okna widoku danych jednego studenta z co najmniej dwiema zakładkami - zakładką danych osobowych i zakładką przypisań
do zajęć. Na każdej z zakładek można edytować dane (edytować dane osobowe lub listę przypisań do zajęć)
\end{itemize}
Specyfikacja wersji z systemem plików:
\begin{itemize}
\item aplikacja jest bardzo podstawową, uproszczoną wersją systemowego Eksploratora plików
\item nad drzewem pojawia się wybór dysku systemowego
\item na drzewie pojawiają się foldery na wybranym dysku
\item jeżeli folder ma podfolery, to na drzewie użytkownik może rozwijać węzły drzewa rekursywnie aż do najgłębiej zagnieżdżonego podfoldera
\item na liście pojawiają się pliki w wybranym na drzewie folderze
\item użytkownik może dwukliknąć każdy plik i aplikacja próbuje wtedy wykonać domyślną akcję dla tego pliku (poczytać o właściwości {\tt UseShellExecute} obiektu {\tt ProcessStartInfo})
\item wybrane pliki są edytowalne z poziomu samej aplikacji - na przykład tylko pliki o rozszerzeniu *.txt - ich wybór zamiast wykonać domyślną akcję dla pliku powinien otwierać osobne okno z prostym
edytorem opartym o kontrolkę typu {\bf RichTextBox}
\end{itemize}
\end{enumerate}