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 32 minuta
  • drlovric: Represija i samovolja nikada nije rjesenje.
  • drlovric: Plenkovic je porucivao Hrvatima kome nije dobro neka ide u DE. Bis bald. A danas drzava daje pare povratnicima jer kapital su ljudi. Ako nas KGB sve rastjera odavdje, ovaj forum ce sam sebi biti svrha :)
  • Air: Mislim da je uvreda za članove jabučnjaka koji su aktivni u političkim temama na jabučnjaku uspoređivati ih sa ekipom koja “troši” takve teme na drugim portalima. Iako smo svakodnevno na forumu neke od tih politički tema nemaju upisa po nekoliko dana. To znači da ekipa nije “ovisna” o tome da non-stop nešto serucka nego se upisuje kad netko nešto ima.
  • Air: Na osnovu ovoga dolazimo da je vrijednost ovog foruma u ljudima koji su svakodnevno aktivni na forumu, a to je uz pomoći ovih političkih tema.
  • Air: Druga vrijednost je već navedena, a to je što je forum sa takvim temama bio aktivan, i ljudi su tada bili prisutni pa su češće otvarali tehničke teme i više pomagali. Danas, a pogotovo u skoroj budućnosti više neće biti potreba za ovakvim tehničkim forumima jer će ljudi pomoću AI-a brže i učinkovitije naći rješenja svog problema.
  • Air: Nije poanta tih tema da netko “ispadne” upravu, niti da se netko uvjeri u neku od teorija koje smo ovdje secirali. Poanta je da su mnogi članovi na osnovu smayoo-ovog angažmana korigirali svoje izražavanje i prepucavanje. Ja sam prvi među njima.
  • Air: Prva vrijednost naših politički tema je: kažu “željezo se kuje dok je vruće” po tom principu ja vidim velike promjene na mnogim članovima koji su aktivni u tim temama. Neće se netko naučiti komunicirati i promišljati o svojoj dosadašnjoj negativnoj komunikaciji kada nema “vatre” i aktivnog korektiva (u našem slučaju smayoo-ta).
  • Air: dok sam došao doma teme je već zaključana pa ću ovdje dodati… tino1 je većinu toga lijepo napisao. Dodati ću da mislim da ove “političke” teme nisu bile uzalud.
  • Bertone: Smanji veličinu slika i trebalo bi proći ili sačekaj da se javi Riba ili Davor, oni znaju kak je podešen forum i što prolazi, a što ne.
  • Yonkis: Htio sam odgovoriti na temu izgubljenih slušalica sa screenshotovima iz mobitela pa je bilo nekih 5-6 slika i nije prolazilo.
  • Bertone: Na poslu koristimo phpBB i u admin postavkama je postavljeno da je max veličina slike 2560 × 1440 pix ili 3 Mb i ako korisnik pokuša napraviti upload veće slike dobije takvu obavjest o grešci,... isto je tak orecimo i sa slikom avatara, propisali smo maksimum od 512x512 pix i ako je veća nema uploada. Gdje ti dobivaš grašku?
  • Riba: Yonkis, kada i gdje ti se to pojavi?
  • Bertone: *Ne znam...
  • Bertone: Ne znak kako je posloženo tamo kamo si htio napraviti upload slike, ali mi smo si na poslu (na internom forumu) postavili limit na veličinu slike od 2k.
  • Bertone: Ne previše nego je nešto preveliko.
  • Yonkis: Jabučari, što ovo znači? Da imam puno slika u odgovoru na neki komentar? [link]
  • dpasaric: :D
  • Bertone: Čovjek Vam je na realnom primjeru objasnio Starcraft pravila i sad opet ne valja :D
  • dpasaric: Tako je! :)
  • Gjuroo: Ni Putin to ne bi bolje riješio.
  • dpasaric: Nema više politike u ovoj butigi! :)
  • smayoo: piši u forum
  • user: Ako zna netko kako dobiti njihovu zadnju poznatu lokaciju to bi bilo korisno
  • user: pretražio sam sve itd.
  • user: Već sam "play sound" aktivirao, ništa
  • user: nestale mi Airpods 4, what do? Piše "No location found" u FindMy.
  • user: ljudi,
  • CoffeePod: Cijeli 26 relase je bio sramotan za Apple i morali su “double down” i back to the lab da sve tweakaju kako su trebali
  • CoffeePod: Performansi i ulickani dizajn je ono sto treba
  • CoffeePod: Iskreno ne razumjem vas kojima je ovo “dosadno”. Stvarno morate ici taknuti travu.
  • dpasaric: Objavio sam osvrt na naslovnici, pa tamo komentirajte...
  • drlovric: Meni je Siri skroz OK, upakirali su to lijepo. Ocekivano ce vecina puno ovih stvari iic na pretplatu jer trosi compute (i Gemini) resurse. Lejpse mi izgleda UI jer smanjuju prozirnost :)
  • dpasaric: Što je najbolje nećemo imati niti Siri AI jer je EU učinila sve da se to regulatorno zabrani.
  • pontmax1: A dosade, imate li nešto više od šugave SIri AI
  • drlovric: Kao da ce roditelji ovo raditi. Otkljucat ce im sve i cao.
  • drlovric: Smorise sa ovom djecom :) Nestvarno...
  • dpasaric: Za sada dosadno za poludit... :)
  • dpasaric: I ja imam niska očekivanja, pa da vidimo! :)
  • dpasaric: Kreće za 5 minuta! :)
  • drlovric: Meni su ocekivanaj jako nisko. Pricati ce o Siri, koja ce opet doci kao beta. Pa ce raditi kako treba u inacici 27.4 :) Volio bih da grijesim, ali vise im ne vjerujem na rijec.
  • ping: Bit će to zanimljiva večer. Kupio sam dvije vrečice indijskih oraščića i planiram još barem mali paket Munchmallowa.
  • dpasaric: Danas u 19h WWDC! :)
  • Riba: user, ne upisuj admin password ano ne znas tko i zasto te pita i to je u osnovi to.
  • Yonkis: U Berlinu se otvara Developer Centar [link]
  • user: kako biti siguran od virusa na Macu? Sad ću reinstalirati OS i želim biti siguran.
  • user: bok ljudi,
  • Yonkis: Mene, kao prišlića, iznenadilo koliko je puno zastupljeniji Viber nego WhatsApp a Signal skoro nitko nije ni čuo (osim jabučnjaka). Zanimljivo.
  • Riba: Za tajne stvari imam pisacu masinu. :)
  • Riba: Ja imam instalirano sve pa tko kako hoce.
  • drlovric: Sve koje znam koriste Whatsapp. Viber, je isto popularan. Kao i Telegram. Signal nije bas zastupljen u mojim krugovima :)

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 0.51 Seconds

Provided by iJoomla SEO