Dashcode
(1 korsinik/a gleda/ju temu) (1) Gost

Dashcode


12.09.2008 | 15:27
Zna li itko kako da napravim widget da samo kliknem na riječ pa da napravi copy, tako da samo u safariu napravim past?!

Nadam se da razumijete pitanje,nešto tipa serialbox klik-copy?!
13.09.2008 | 02:06
Zna li itko kako da napravim widget da samo kliknem na riječ pa da napravi copy, tako da samo u safariu napravim past?!


Pretpostavimo da imaš nekakav textarea u svom widgetu, u kojem je tekst. I pretpostavimo da kopiranje ne trigga klik (onclick event) nego dupli klik (ondblclick event), kao u Serial Boxu.

Zapravo, da ne pretpostavljamo uzalud možeš kreirati novi Custom widget (prazan), u njemu jedan textarea i upiši u textarea nekoliko riječi, tako da je svaka od sljedeće odvojena newline (return) karakterom. To će "glumiti" tabelarne retke iz Serial Boxa, da ne petljamo s konstrukcijom prave tablice.

Sad dodaj handler za ondblclick event (textarea). Nazovi ga kakogod i u njega možeš kopirati ovo:

function kakogod(event)
{
var dataForPasteboard = event.target.defaultValue.substring(event.target.selectionStart,event.target.selectionEnd);
widget.system("/bin/echo -n '"+dataForPasteboard+"' | /usr/bin/pbcopy", null);
}

U Widget Attributes OBAVEZNO uključi Allow Command Line Access. Pokreni widget, dblklikni na neku od riječi u textarea i upravo si je kopirao u clipboard.

Što gornji event napravi? Prvo parsa selekciju i kopira označeni dio u varijablu dataForPasteboard. Blagodat dblklika (i razlog zašto je ovo zakačeno za ondblclick) je što će automatski selektirati cijelu riječ na koju klikneš. Možeš koristiti i onselect ako ti više odgovara preciznija selekcija.

Da bi druga linija (widget.system...) radila, widgetu mora biti dozvoljen pristup komandnoj liniji (od tuda onaj Allow Command Line Access). Sintaksa u nastavku poziva sistemsku pbcopy naredbu (hint: postoji i pbpaste) i to tako da joj proslijedi sadržaj varijable dataForPasteboard (u kojoj je selekcija) printajući njen sadržaj s naredbom echo i koristeći switch "-n" da echo NE doda newline karakter prilikom prosljeđivanja selekcije u clipboard - u protivnom bi Paste (u Safariju ili bilo gdje drugdje) osim selekcije, automatski imao i jedan "enter" na kraju.

Umjesto onog "null" iza zareza bi trebao biti endHandler - ako je "null", funkcija se izvodi sinhrono, što znači da je ostatak widgeta "smrznut" dok funkcija ne obavi svoje. No, nije kritična (brzo se izvršava i mala je vjerojatnoća da će nešto poći po zlu) pa za "kućnu upotrebu" spomenuti endHandler nije nužan. Detalji su opisanu u ADC Home > Reference Library > Reference > Apple Applications > Dashboard > Dashboard Reference > Widget Object.

Inače, pozivanje komandne linije i pbcopy naredbe nije nešto što normalnom čovjeku prvo padne na pamet. Logičniji put bi bio korištenje oncopy handlera, ali problem je u tome što dotični postoji samo za body widgeta i trigga se na CMD+C (tipke!). Nije mi poznato kako triggati event u widgetu programski (s obzirom da fireEvent() ne postoji) pa to očito nije rješenje tvog problema. No, ako ti zatreba takvo rješenje, Dashcode ga ima u svom Code Libraryu, pod Events i zove se Copy Support. Ali ima i bug pa, ako ga odlučiš koristiti, imaj na umu da tamo gdje piše "display" zapravo treba pisati "dataForPasteboard".
13.09.2008 | 13:02
Ma ovo radi super! Nešto sam slično pokušavao ali ovaj kod koji si mi dao nisam nigdje pronašao,samo copy support koji mi nije pomogao.
Hvala puno a posebno na detaljnom objašnjenju!

P.S. Dal mogu zaključat text jer sad ga mogu u dashdordu slučajno promjenit?
13.09.2008 | 15:09
Dal mogu zaključat text jer sad ga mogu u dashdordu slučajno promjenit?


Zaključati dok editiraš, u Dashcodeu (ukratko: ne; možeš eventualno isključiti Visible flag, ali onda ne vidiš kompletan textarea) ili dok se izvršava?

Ako je ovo drugo u pitanju (a pretpostavljam da je), textarea je po defaultu editabilan i nema neki "switch" koji bi ga pretvorio u "view only". No, zato je tu workaround: dodaj handler na onkeypress (ili neki sličan, ovisi što ti najviše odgovara) event i u njemu "presretni" editiranje. Ako event nazoveš "presretac", ovo će biti dovoljno:

function presretac()
{
event.preventDefault();
event.stopPropagation;
}

Textarea će biti prikazan uredno, onselect će se ponašati normalno (i triggati kopiranje u clipboard), ali će svaki pritisak na tipku biti prosljeđen u crnu rupu. Imaj na umu da to znači da, dok je dotični textarea odabrana kontrola, ni CMD+Q ne radi! Tek kad user klikne izvan textarea, prestaje presretanje i može quitati widget preko tipkovnice - može biti feature, ali može biti i bug.
13.09.2008 | 16:30
Mislim da če ovako biti sasvim dobro.

thx Dj
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 7 sati, 50 minuta
  • iAnte: @bertone jesu li gravirana znakovi vidljivi i u dobro osvijetljenim prostorima?
  • dpasaric: Legenda.
  • smayoo: RIP Chris Rea... :(
  • VanjusOS: ovo lasersko graviranje izgleda odlično, nikakve naljepnice!
  • Bertone: ... i da, mislim da je sad graviranje oko 20€
  • Bertone: Lasersko graviranje, baci oko na [link] , ovako izgleda na T14s koji sam nosio kod njih s time da nisam htio baš sve znakove nego samo par osnovnih, tipkovnica je isto bila DE [link]
  • jura22: Radije kupi naljepnice. Ima ih na oglasniku: [link]
  • Riba: Puno, jer ako se ne varam mora se mijenjati kuciste.
  • CoffeePod: Kupio MBP16" M4, al tipkovnica je njemacka. Zna li se koliko bubvrega dode zamjena tipki da mi bude HR?
  • Soffoklo: Misliš bravo retardirana EU birokracija
  • drpongrac23: Bravooo Apple, super!!!
  • m@xym: a evo i pojašnjenja: [link]
  • Yonkis: In iOS 26.2, Wi-Fi network synchronization between iPhone and Apple Watch will no longer be available in the EU.
  • hal9000: HAHAHAHAHAHA: [link]
  • dpasaric: Iskreno, i meni Liquid Glass ide na živce i nije im to trebalo. Srećom barem se na iPhoneu lako ugasi u onim opcijama za invalidne osobe.
  • Borisone: Ne znam što su se svi uspuhali oko Liquid Glass, a tragediju od prikaza UI-a na ne-retina ekranima se tolerira više od desetljeća.
  • CoffeePod: Dyeovog odlazak je mozda najbolja stvar. Racunam da ce implementirat malo nazad Mavericks draži i da će utišat Liquid Glass gimmick. Apple se stvarno mora sjetiti da ljudi vole Apple upravo radi blenda vrhunskog hardware i software koji je funkcionalna koliko i lijepo izgleda. Liquid Glass je form over function 101.
  • Yonkis: Sa novim WApp updateom funkcionalan WhatsApp app na Apple Watchu.
  • IgorD: Zašto ne bi bilo istina? O tom se govori danima, neki ljudi slave što je Dye otišao. Trebao si otvoriti temu
  • Djuro genijalac: Sve mi se čini da je ovo istina..?
  • Djuro genijalac: [link]
  • IgorD: ovo je bilo na 17
  • IgorD: [link]
  • IgorD: Meni radi paste, iPhone Max 15, nije zadnji ios
  • smayoo: Ne možeš s iphonea
  • Djuro genijalac: Jbm, kak se pastea link u vikalicu?
  • Djuro genijalac: Ne znam jel ovo istina, ali....
  • Air: Ja sam u Zg, reci što i kada trebaš?
  • drlovric: Ima li neka dobra dusa iz Zagreba da mi preuzme hedan mali paket i preusmjeri ga na paketomat ili kakogod u Zupanju? :)
  • smayoo: [link]
  • ydrea: @Vanjuška - imamo! Poslao sam ti pp ;)
  • drlovric: Akom znate nekoga da prodaje SteamDeck, ja bih to kupio...
  • Piko: Zašto WP ? .... ima .... samo ja radim u Laravelu, no WP mi nije stran.. što konkretno treba ?
  • dpasaric: Svi otišli u keramičare. Naš ex-voditelj weba radi s mramorom sada. :)
  • Vanjuška: Imamo li na Jabučnjaku ikoga tko je vičan WordPressu i općenito web hokus pokus?
  • Riba: Anker ili Baseus i na miru si.
  • drlovric: Ja vjerujem Ankeru. Godinama bez problema
  • dpasaric: Ne kupuj nikada jeftine punjače za auto, gomila je uništenih iPhonea na taj način.
  • Yonkis: ima netko za preporučiti autopunjač a da ima USB C i USB A? Ne vjerujem ovima ovim artiklima od 5€.
  • zvone: Vrhunski. Moj prvi OS je 7.5. Digao ga i igrao Sim Tower satima. Kao u stara dobra vremena.
  • smayoo: Evo stavio sam ja [link]
  • dpasaric: To je vrijedan link, nemoj da se izgubi na Vikalici, imamo u forumu grupu MacOS Classic, pa ostavi tamo da ostane
  • IgorD: Da, mogao bih nekom to amjestit full scree da se šokira kad se vrati a komp
  • smayoo: hvala!
  • drlovric: Ovo je tako cool. Svaka cast!!
  • Ender: @IgorD: ovo je sjajno! hvala!
  • IgorD: > Infinite Mac is a collection of classic Macintosh and NeXT system releases and software, all easily accessible from the comfort of a web browser
  • IgorD: Upravo otkrio: [link]
  • m@xym: RIP Deajn Ristanović, jedan od rijetkih koji je postao legenda još za svog života (barem nama koji smo pratili same početke kompjuterizacije u bivšoj državi.
  • smayoo: :(

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 0.52 Seconds

Provided by iJoomla SEO