Umieszczanie elementów na wykresie (np. wykres ganta)

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
dnorus
Posty: 19
Rejestracja: 07 gru 2008 19:43
Kontakt:

Umieszczanie elementów na wykresie (np. wykres ganta)

Post autor: dnorus »

Witam,
próbowałem, szukałem, ale opcji i pomysłów jest tak wiele, a czas tak szybko ucieka, że wypróbowanie dwóch sposobów dzisiaj zajęło mi już 2h. Mianowicie chce zrobić coś w rodzaju wykresów ganta: Obrazek. Chciałbym, żeby użytkownik miał do dyspozycji kilka elementów: kolorowych prostokątów o różnej długości i mógł je wstawiać na jakieś pole, gdzie mógłby je układać do woli jeden po drugim. To jest wstęp pod program gdzie te prostokąty będą symbolizować dźwięki etc. to na razie nieistotne.
Próbowałem to zrobić na zasadzie slide'a, ale pojawił się problem ze wstawianiem nowych slidów (przegródek), drugi pomysł to array albo tablica, gdzie jeżeli użytkownik wpiszę np. 1 (odejście od motywu ze wstawianiem za pomocą przesuwania) to automatycznie uzupełni się reszta pół w zależności od długości pierwotnego prostokąta, innym pomysłem zasugerowałem się po zobaczeniu examplu z przesuwaniem obrazka (król pik), niestety jak sobie wyobraziłem że musiałbym badać jakoś pozycje tych obrazków, oraz że jeśli użytkownik wstawiłby trochę obok obrazek (na polu) to musiałbym używać przybliżenia koordynatów to stwierdziłem że to dużo dużo roboty...

Projekt.. choć do neigo jeszcze daleko to luźna moja wizja polegająca na zabiciu czasu i przygotowań pod zakończenie studiów i ewentualną pracę.
W zasadzie realizacji dokonam sam, liczę tylko na jakieś pomysły.. o niebo sprawniejsze w wykonaniu niż moje;)
dzięki
PMaj
Posty: 231
Rejestracja: 04 sty 2004 00:00

Re: Umieszczanie elementów na wykresie (np. wykres ganta)

Post autor: PMaj »

Witam,

Problem ciekawy - rozwiązanie nie jest trudne, ALE - jak zauważyłeś trzeba się napracować. Jedną z szybszych opcji jest:

1. Wykres, na którym rysujesz odpowiednie dane wcześniej zdefiniowane w odpowiedniej strukturze danych (typedef), i później umieszczone w tablicy. Każdy element (typedef) tablicy to jeden bar poziomy na wykresie.
2. Dane wprowadzane na zasadzie tablicy są kiepskie do wprowadzania, więc można użyć prostego menu dodawania do tablicy pojedynczych elementów (pojedynczych poziomych barów - dodaj, usuń, przesuń), do wyswietlanai ilości i kolejnonści możesz użyć multikolumn listbox
3. Dane (pojedynczy bar) edytowane mogą być przy użyciu właśnie slider'a - a edytowany będzie tylko aktywny wykres.
4. Aktywny wykres może być ten zaznaczony w multikolumn listbox jako active cell

Jest to wbrew pozorom niezbyt trudne i nienajdłuższe rozwiązanie. Jednak, jeżeli chcesz aby rozwiązanie przetrwało troszke dłużej, to poświęć tydzień lub dwa (pewnie się znajdzie, jeżeli jesteś studentem), i zrób z tego porządną kontrolkę (XControll). Przyda się do przyszłych projektów, a może umieścisz kiedyś na forum :)

Pozdrawiam
P.
Nie jestem leniwy
Mam zawyżone wymagania motywacyjne
ODPOWIEDZ