วิธีการใช้เมนูป๊อปอัพคล้ายกับที่ใช้ใน Magit
คำถาม ผมอยากจะสร้างส่วนติดต่อผู้ใช้ในรูปแบบของเมนูป๊อปอัพ , เมนูป๊อปอัพที่คล้ายกันกับที่ใช้ใน Magit คุณสมบัติ ความหมายของป๊อปอัพ ป๊อปอัปในบริบทของคำถามนี้หมายถึงหน้าต่างชั่วคราวขนาดเล็กที่มีการรวบรวมรายการเมนูเพื่อให้ผู้ใช้สามารถเลือกหนึ่งและหนึ่งในรายการเหล่านี้ ตำแหน่งบนหน้าจอ ป๊อปอัพได้รับอนุญาตให้ปรากฏในส่วนใด ๆ ของหน้าจอ แต่เป็นที่พึงปรารถนาที่ควรจะค่อนข้างชัดเจนและดังนั้นจึงควรปรากฏขึ้นข้างหน้าต่างที่ใช้งานในปัจจุบัน เนื้อหาของ Popup Buffer รายการควรจะแสดงในรูปแบบของตารางสวย พริตตี้เป็นบริบทของคำถามหมายถึงการดึงดูดสายตาผลกระทบนี้สามารถทำได้ง่ายที่สุดโดยการวางรายการเมนูลงในแถวตรงดู complete--insert-stringตัวอย่าง ย่อหน้านี้ทำหน้าที่ชี้แจงเพิ่มเติมคุณสามารถทำได้ด้วยวิธีของคุณเองซึ่งจะไม่ทำให้คำตอบของคุณไม่ถูกต้อง การเลือกรายการเมนู การเลือกนั้นคาดว่าจะทำได้ด้วยการกดปุ่มเพียงปุ่มเดียวหรือเลือกด้วยเมาส์ (แม้ว่าจะไม่สำคัญนักดังนั้นคำตอบที่มีข้อเสนอที่ไม่สนับสนุนเมาส์นั้นถูกกฎหมาย) หากคุณเสนอวิธีแก้ปัญหาที่รองรับเมาส์โปรดทราบว่าผู้ใช้ควรสามารถเลือกรายการเมนูในวิธีที่ใช้งานง่ายนั่นคือโดยการคลิกปุ่มซ้ายบนตัวเลือกที่ต้องการ สามารถใช้เม้าส์ NB ได้หลายวิธีและใช้เป็นทางเลือกเพื่อระบุทางเลือกที่ได้รับการต้อนรับ กำจัดป๊อปอัพ เมื่อผู้ใช้เลือกรายการเมนูตามวิธีที่อธิบายไว้ข้างต้นบัฟเฟอร์และหน้าต่างควรถูกกำจัดออกจากมุมมองรวมถึงการฆ่า หน้าต่างที่ใช้งานอยู่ก่อนที่จะเรียกใช้เมนูป๊อปอัพควรได้รับการโฟกัส (นั่นคือเปิดใช้งาน) อีกครั้ง มูลค่าที่คืนและข้อโต้แย้ง โดยเฉพาะอย่างยิ่งผลลัพธ์ของการดำเนินการนี้ควรส่งผลให้วัตถุ Lisp ถูกส่งคืน วัตถุ Lisp สามารถเป็นได้ทั้ง: nil- สิ่งนี้บ่งชี้ว่าผู้ใช้ยกเลิกเมนูป๊อปอัปโดยกดC-gหรือด้วยวิธีอื่น† string- สตริง (อนุญาตให้ใช้สัญลักษณ์) ควรเป็นstring-equal หนึ่งในสตริงที่ให้กับเมนูป๊อปอัพเป็นการรวบรวมรายการจริง ทางเลือกอื่นเพื่อให้โปรแกรมส่วนที่เหลือทราบทางเลือกของผู้ใช้หรืออาจเป็นไปได้ว่ายอมรับได้ อย่างไรก็ตามหากยังไม่ชัดเจนว่าจะสามารถปฏิบัติได้อย่างไรฉันจะถามผู้ตอบคำถามทั้งหมดโดยทันทีและไม่ขอให้ฉันชี้แจงเพิ่มเติมในเรื่องนี้ นี่คือทั้งหมดสำหรับค่าส่งคืน สำหรับพารามิเตอร์อินพุตอย่างน้อยพวกเขาควรจะรวมชุดของสตริงที่แสดงถึงตัวเลือกที่เป็นไปได้ …