-
Notifications
You must be signed in to change notification settings - Fork 13
Paketit
This page contains info on the packet structure of the plugin. It's up to date as of 2nd of September, 2016. The page is in Finnish.
Paketti sisältää rajapinnan, jonka kautta lähdekoodissa päästään projektin resurssikansion kuviin käsiksi.
Esimerkiksi (missä tahansa koodia kun halutaan submit-nappi):
TmcIcons.SUBMIT_BUTTON
Paketin täytyy olla lähdekoodikansion (src/main/java
) juuressa, että IntelliJ osaa käyttää sitä oikein. Rajapintaa voidaan myös käyttää plugin.xml-tiedostossa.
Lisätietoa: http://www.jetbrains.org/intellij/sdk/docs/reference_guide/work_with_icons_and_images.html
Projektin juuripaketti
Paketissa sijaitsevat kaikki pluginin IntelliJ:hin tuomien tapahtumien kuuntelijat - esimerkiksi nappien ja valikoiden painaminen ja projektin käynnistäminen. Luokat perivät IntelliJ:n plugin-kehityksen openapilta sopivan tapahtuma-luokan (esim. AnAction napeille).
Luokat sisältävät mahdollisimman vähän logiikkaa. Logiikka on piilotettu service-pakettiin.
Tämä paketti sisältää erilaisia logiikkaa sisältäviä palveluluokkia tapahtuma- ja UI-luokille.
Paketti sisältää luokkia, jotka varmistavat että tietyistä käytetyistä luokista koodissa (esim. TmcCore) on aina vain yksi instanssi käytössä.
Sisältää luokat, jotka huolehtivat projektien importtaamisesta IDEA-projekteiksi oikein, että projektin ajaminen onnistuu avaamisen jälkeen. Kahden keskeisen luokan koodi on otettu IntelliJ:n lähdekoodista, mutta aavistuksen modattuna niin että projektien avaaminen projektinäkymän kautta olisi mahdollisimman yksinkertaista. Alun perin luokat toimivat vain “wizardin” kanssa.
- Windowsilla tulee “parent does not exist error”, mutta ei näyttäisi haittaavan toimintaa.
- Harvinainen .idea does not exist bugi missä jostain syystä importtaus ei toimi. Ehdotettu ratkaisu on, että importtaus tapahtuu aina kun on nbproject kansio.
Luokkia, jotka sisältävät toiminnallisuuden TMC-projektin pääluokan valitsemiseen ja projektin ajamiseen.
Logiikkaa sisältäviä palveluluokkia.
TMC-coren spyware-luokat
Apuluokkia spyware-toiminnallisuutta varten
Käyttöliittymän luokat. Ei sisällä yksittäisiä nappeja, jotka IntelliJ tekee (action-paketin luokat), vaan isommat, Swingillä itse-tehdyt käyttöliitymä-elementit (esim. TMC settings -ikkuna).
Jotkut paketit sisältävät .form-päätteisiä xml-tiedostoja, jotka ovat IntelliJ:n UIDesignerin luomia. UIDesignerin avulla pystyy helposti luomaan käyttöliittymiä.
Luokat, jotka huolehtivat TMC:n pastebin-toiminnallisuudesta.
Luokat, jotka huolehtivat projektinäkymän (lista TMC-projekteista) luomisesta ja päivittämisestä.
Luokat, jotka huolehtivat TMC settings -käyttöliittymäikkunasta.
Luokat, jotka huolehtivat tehtävän palvelimelle palauttamisen jälkeen palautteen antamisesta käyttäjälle (oikein/väärin yms.).
Luokat, jotka huolehtivat testipalautteen antamisesta käyttäjälle.